4 ms·
Second system effect is the curse of FOSS projects. It's been that way for decades. I don't see a reliable solution for the structural problem that doesn't some
by kjellsbells 11mo ago
Second system effect is the curse of FOSS projects. It's been that way for decades. I don't see a reliable solution for the structural problem that doesn't somehow end up like a Benevolent Dictatorship. At the end of the day, designing complex systems by committee is hard to do. Maybe there is a maximum size of a group beyond which the communication matrix between the members starts to fracture?
- Pannoniae 11mo ago"that doesn't somehow end up like a Benevolent Dictatorship" Is that a problem though? If you want to get shit done, you need someone to take responsibility for the decisions. Otherwise you get design-by-committee and endless bikeshedding and software nimbyism. I don't see how else it could work...
- saurik 11mo agoI would claim the dictators -- even the "benevolent" ones--tend to do this more often than committees, as they have more inherent power to do so: the committees tend to get stuck in backwards compatible land forever (for better or for worse). I mean, look at Larry Wall or Guido Van Rossom with their respective debacles. Bjarne Stroustrop couldn't mess up in that way even if he seems to want to. As another example, HTTP only started having this problem with Google being able to railroad everyone. The only major second system effect caused by what I believe is a committee that I can easily come up with is IPv6?
- XorNot 11mo agoIPv6 is a victim of the nature of the problem and a lot of under informed observers. I see too many comments asking why it's just backwards compatible or suggesting less bits would make it easier. There are real problems but really the issue is that it was a hardware and software problem wrapped into one as well as being a collective action problem.
- dxdm 11mo agoWhich Guido van Rossum debacle are you referring to? I can't think of one where he unilaterally caused a mess by dictating a hampered "second system" into life, as your comment seems to imply, but may just me misunderstanding or being ignorant. The closest thing I can imagine is where he actually resigned as benevolent dictator after having to meditate the walrus operator design committee/community, which is not a good example for your argument. Python 3 also does not seem to fit the bill as a "debacle" or a "second system" in the usual parlance. I'm asking because I'm interested to learn of a significant event in Python's history I might not be aware of.
- saurik 11mo agoPython 3 was a debacle that nearly destroyed the Python ecosystem due to egregious incompatibilities when it was decided that, not only could they fix a few important things, but in the process they might as well throw backwards compatibility entirely away and encourage people to treat it as a new language. It was over a decade between Python 2 being declared dead and Python 3 being usable, and many of the key groups of people who actually used Python during that time actually did give up and move on: as an example, if it were not for that mess, Python would likely own web development. And the big corporate backer that helped popularize it in production -- Google -- largely did give up, and started working on Go, while the community focussed on stuff that Google thought was not just a waste of time but made their efforts constantly break. That data scientists (including at Google) appeared to give it a new life in machine learning was super lucky. I dunno... maybe read this? (edit: I forgot to add the link, lol; I have now added it ;P.) If you weren't there at the time, maybe it is easy to pretend none of this had happened, but it was a super big deal and there were the same kinds of bullying campaigns to get people to upgrade even when stuff was clearly slower and more broken and you knew it would become easier to port later. https://gregoryszorc.com/blog/2020/01/13/mercurial%27s-journey-to-and-reflections-on-python-3/ https://gregoryszorc.com/blog/2020/01/13/mercurial%27s-journ... Frankly, it all started to finally turn around in the Python 3.3-3.7 timeframe, with the biggest turning points being 3.6/3.7, which is when Guido finally was cracking under community pressure against his agendas and decided to start forming a committee to manage the language, before stepping down... until just now I hadn't realized that that was probably the thing that truly saved that language.