What is far more bizarre is that some gets really mad about, but decides to not communicate or report it for months and then launch passive aggressive personal attacks when someone else reports (and fixes) it.
I have lost any faith that you will fix whatever regressions you cause, that’s why I did not communicate, I was sure you’d have put up excuses and not do anything, which would have just made things worse.
Just recently we had a discussion on gwc-devel about a randomly failing test that you introduced, I believe your comment was that you just adapted a test that Gabriel made. No fix was provided on your part, the random failure is still there.
Unlike what you seem to suggest, I am pretty sure that all or most of what I have done in the past few years that is not in community modules, are actually just bug fixes. (I guess it is disputable whether making config pages cluster safe is a feature or a bug.) But any major core development has been a long time.
Yes, the large works are a few years old (app-schema, Resource, CSW ISO), but I saw no indication that anything changed in your attitude towards the project and maintenance of your work. Hence my assumption above.
I have done and still do in fact contribute with volunteering work, such as reviews (including for colleagues of yours) and maintenance, including for code I wrote for a company who paid me to develop certain modules or core changes but never intended to pay me to maintain these. I can always be contacted about this work, and I have taken that personal responsibility upon myself entirely, and I am always willing to continue to do so. As far as that certain company is considered, they couldn’t care less if I had developed that stuff and disappeared afterwards, not even being contactable about it.
This is problematic, because if you don’t maintain your contributions to supported modules, someone else will have to, and that someone is a handful of already heavily overloaded core developers, often using significant amounts of their spare time every single week. I think GeoServer as a project has no capacity left to receive “contribution dumps” where the developers provides code and then leaves to do something else.
The other developers contributing a similar amount of commits are actually active in the community with a number
of unpaid activities that help the project stay alive, on the user lists answering questions, on the dev list participating
to discussion, participating to the monthly bug fix code sprint, and cutting releases.
Jody once quite correctly called it “the cost of doing business in a open source project”.
Given that your activity is not a charity, but it’s instead paid for, business, it’s only fair to expect the same of you.
Not all major contributors are active any more.
Yes, that is indeed part of the above problem, the ones that are left are more and more overworked, not only from the point of view of the amount of actual coding to do, but more importantly in terms of cognitive load, one thing having to manage 2-5 modules, another entirely is to have to manage and be proficient with several tens of them, I cannot comment about others, but personally I am working beyond my limits.
I cannot really commit to participate in meetings and releases, because I cannot commit to having enough availability at the right time unfortunately to do this as a volunteer because of other obligations. Responding to emails and making reviews as a volunteer is something else entirely, because I can do that at any time, in the middle of the night if need be. After all, my own personal time is the only resource I have for this, and I do the best I can to help the geoserver community. I am not a profit-making business who sells products and services based on geoserver, I am just a very simple freelance programmer on his own. I don’t know if there are many others who have participated an entire week of code sprint purely as a personal volunteer, paying everything except for the flight out of their own pocket, and missing a week’s worth of work in opportunity cost - not in the context of a larger company.
That participation was appreciated, but what keeps the project alive is day to day participation. Think of it as having to keep up with a cow farm, you can show up and do something wonderful for a week long, but if you then leave them for a year and nobody cares about them, by you come back all the cows are dead.
I do these things to do good, not to do evil. I believe in this model of development, and I also wished companies would invest more in the community work. Again, I am not a business, just a simple programmer, and I could easily earn the same living without caring at all about geoserver and its community. This picture you want to paint of me as a leech who takes and profiteers but never cares or gives is just not close to reality. I simply do my best with the resources I have, but I am not perfect.
You are a business, you just happen to be a single person business, but what you do is similar to what GeoSolutions does, we don’t sell a downstream product, simply provide improvement and bug fixing services (so in the end we get paid by the hours worked). And then we dedicate part of the company time, and in the case of some of us, part of personal time, to keep that code going, once the contract is long gone.
Your portion of business relating to GeoServer exists because someone keeps the project alive by answering user questions, doing releases, participating to the monthly bug fix sprints and the like, without being paid to do that.
I understand that you don’t have the same amount of activity and don’t pretend you show up for releases once every two months like we do, or be the most active dev on the user list, or participate at most bug fix code sprints, but at some of those (releases, bug fix sprints, fielding user questions), yes, you should.
There is not much need for additional support, because this concerns functionality that geoserver according to the documentation already provides: the iso metadata profile, but which currently really doesn’t work properly. The alternative is to have a new CSW community module with iso metadata profile properly supported. I do think if even the small bug fixes get ignored, this is a personal rather than pragmatic matter. I don’t see how any of the CSW stuff I did can cause problems for anyone.
It is personal, and I’ve said so multiple times in multiple places. Business is indeed not personal, it’s exchanges of money with a service, I don’t have to like the customer. Using spare time is a personal choice instead, and I do all my un-paid reviews on Saturday and Sunday mornings (for the joy of those contributing in paid hours, and wondering why it takes so much time to get one and so much un-synchronized with their needs to get code in).
This makes open source projects something about people, unlike other things like healthcare where one can expect a service in a impersonal way (but only because taxes were paid for it). So yes, personal is the norm in free software communities, you’ll have to learn to deal with it.
About ISO support, I did not work on that part of the CSW machinery (only covered dublin core and the generic service engine), in order to review the changes I’d first have to learn about what an ISO record is, and how the code producing it works. That would require even more spare time to be used.
I don’t expect people to do all this for me out of the goodness of their heart, I was in all honesty hoping that people would be able to use this.
I can see the usefulness of the work done (extension of ISO metadata support to cover more elements), I’m simply not willing to take on its review and long term maintenance myself. Again, sorry to sound like a broken record, but if a module is supported, it needs someone to willing to maintain it, adding new code just makes live harder for those that have volunteered to do such maintenance. I volunteer to maintain the code I write, not other people’s code.
Admittedly, I also like to avoid that maintaining forks becomes to much of a complicated matter. I understand the bigger reviews are more tricky, but I am very willing to trade time for this and for example, get assigned some reviews and/or bug fixes in exchange.
Hopefully someone will show up that is willing to trade horses with you here. Good luck!
Cheers
Andrea
···
GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information. == Ing. Andrea Aime @geowolf Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054 Massarosa (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549 http://www.geo-solutions.it http://twitter.com/geosolutions_it ------------------------------------------------------- Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni circostanza inerente alla presente email (il suo contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le sarei comunque grato se potesse darmene notizia. This email is intended only for the person or entity to which it is addressed and may contain information that is privileged, confidential or otherwise protected from disclosure. We remind that - as provided by European Regulation 2016/679 “GDPR” - copying, dissemination or use of this e-mail or the information herein by anyone other than the intended recipient is prohibited. If you have received this email by mistake, please notify us immediately by telephone or e-mail.