Open Source Roles: Starters vs. Maintainers (jlongster.com)
An anonymous reader writes: Mozilla developer James Long has posted a sort of internal monologue on the difficulties of being a hobbyist open source project maintainer. He says, "I hugely admire people who give so much time to OSS projects for free. I can't believe how much unpaid boring work is going on. It's really cool that people care so much about helping others and the community. ... There are two roles for any project: starters and maintainers. People may play both roles in their lives, but for some reason I've found that for a single project it's usually different people. Starters are good at taking a big step in a different direction, and maintainers are good at being dedicated to keeping the code alive.
I am definitely a starter. I tend to be interested in a lot of various things, instead of dedicating myself to a few concentrated areas. I've maintained libraries for years, but it's always a huge source of guilt and late Friday nights to catch up on a backlog of issues. ... Here's to all the maintainers out there. To all the people putting in tireless, thankless work behind-the-scenes to keep code alive, to write documentation, to cut releases, to register domain names, and everything else."
I am definitely a starter. I tend to be interested in a lot of various things, instead of dedicating myself to a few concentrated areas. I've maintained libraries for years, but it's always a huge source of guilt and late Friday nights to catch up on a backlog of issues. ... Here's to all the maintainers out there. To all the people putting in tireless, thankless work behind-the-scenes to keep code alive, to write documentation, to cut releases, to register domain names, and everything else."
I'm not sure this is accurate. If it were, why would anyone choose to be a maintainer, stuck fixing small bugs for years on end and having little to do with the movements forward?
Hardly anybody starts as a maintainer, it just creeps up on you. Like some years ago I was busy trying to get some games to work under WINE, filed some bug reports and found various tweaks to make them work. Since there wasn't a maintainer in the appdb, I signed up. And then it just became a habit to fire up the games when new versions came out, even some I'd grown tired of just to check that it was still working or if there were regressions, if the tweaks were still necessary and so on. Once they totally broke some games and I bisected it back to the commit and it got fixed. Maintenance is what keeps things working, you do it a little bit for yourself and a little bit for the public good.
Live today, because you never know what tomorrow brings
So why would anyone want to do the boring part of programming? Stay with the fun part, starting projects! Then, when it's 90% done, abandon it and let the next idiot take it over. I've known so many good ideas that were never finished, and the creator not only declines to continue, but angrily rejects the idea that she should be forced to finish what she started.
I've seen this happen so many times, and the key idea here is novelty. Doing something new. It's the short attention span that demands a constant flow of shiny trinkets, each different from the last. It's bizarre seeing that a core idea of the engineering mindset, and programmers as a subset of that is (or was) damn the torpedoes, full speed ahead. Seeing an idea through to completion no matter what obstacles appear. In fact, overcoming those obstacles and finishing the project, whatever it might be, is (used to be) a great source of pleasure and pride.
Indeed in this very thread I am seeing people who have no conception of finishing projects and are baffled that anyone might want to do anything but the fun part. That's the part that hurts - not that different perspectives exist, but that these diverse perspectives have no intellectual space to recognize that alternate ideas even exist, and regard those who think differently as weirdos. :(
Shutting down free speech with violence isn't fighting fascism. It IS fascism!
Want to muscle your way into an OSS project, despite lacking the talent or skill (or willingness) to contribute anything other than drama, identity politics, and an insatiable urge control others (or remove them if they don't fall in line)? Force a Code of Conduct (which is often explicitly racist and/or sexist, dismissive of merit, and vague enough to be selectively enforced) down its throat! It even works on the largest projects!
https://www.reddit.com/r/Kotak...
https://www.reddit.com/r/Kotak...
http://todogroup.org/opencodeo...
https://www.reddit.com/r/Kotak...
http://contributor-covenant.or...
http://developers.slashdot.org...
https://www.reddit.com/r/freeb...
I wrote this paper nine years ago. Go to http://vulpeculox.net/ob/index... and follow the link to The future of collaborative software development
One of the key ideas is that a theatre company has all sorts of skills unrelated to acting or play-writing. A collaborative software project should be half a dozen people at a minimum. Once the group has 'done' one project it'll soon find something else to work on, whether extending the objectives, enhancing the deliverable or something completely different.
I have a dozen FOSS contributions on my web site but I just don't want to get into the hassle of Git or licensing or selling or even promotion. I'm an inventor not a financier or sales executive!
In real life, people who start projects aren't as import and you'd think.
Who fixes the bugs and gets things to work? Maintainers.
Who fixes the fucked up architecture? Maintainers.
Who does the incremental improvements that make software better? Maintainers.
Who cares that the software actually does what it's supposed to? Maintainers.
The difference between starters and maintainers is the difference between a sperm donor and a dad. Without maintainers there would be no good software, because starters generally don't make good software - they make software that does one thing.
As anyone who does this for a living knows, it's the execution that matters, not the ideas.
Actually, you might be surprised at what some of us do under a different moniker and in our spare time. Many of us here give back to the community in multiple ways. Some even belong to multiple communities and do things just for the sake of helping out, out of curiosity, or out of need. It's not always altruism but it does happen.
Some careful searching might find a whole host of (quite old) commits, and even whole projects, with documentation that reads slightly like someone who was poor at articulating clearly, very verbose, and may have some familiar verbiage. Sometimes, you grow tired of the project, the people, or just move on and leave it and someone picks up the pieces and carries on - or not. There's no obligation to maintain it just as there's no obligation to create it.
However, given the nature of this site - it's quite possible that the AC you replied to is directly involved in assisting a variety of projects in some meaningful fashion.
"So long and thanks for all the fish."