13 ms·
Democracy in Open Source: Yes or No? (+ Our Research Proposal)
- softmodeling 11y agoWe're researchers trying to get funding to study how existing knowledge in political science, social science and economy can be adapted to improve open source software development. We need the input of OSS developers !
- Vorcin84 11y agoIt sounds vaguely interesting what existing knowledge there is on people working for free for a common cause out of their own volition, and where democracy comes into play. "Democracy is two wolves and a lamb voting on what to have for lunch"
- js8 11y ago> Democracy is two wolves and a lamb voting on what to have for lunch No, it isn't. You cannot put democracy itself to a "democratic" vote, that's a version of Russell's paradox. In particular, deciding who gets to vote, even by voting, isn't democratic. The democratic decision must be potentially reversible.
- thomasahle 11y ago> The democratic decision must be potentially reversible. So how should we make non-reversible decisions?
- js8 11y agoReversible here has meaning that the same group of people can come to a different conclusion later. If you exclude (or include) someone as a result of voting, then it's not reversible. You can make them however you want, for instance by voting, they just won't be democratic.
- nairboon 11y agoOf course you can. Democracy is just the ruling of a majority of a specific group. It doesn't have any inherent "higher ideals", human rights, or whatever.
- js8 11y agoI disagree. The above condition is unorthodox, I admit, but is needed to make the definition logically consistent. The idea of democracy is to give everybody the same voice in decision making. There are different mechanisms to achieve that, direct voting is only one of them. Other mechanisms are consensus, random selection and representation. Each of the mechanisms has different strengths and weaknesses and should be used to decide different things. You can also combine them to an extent, for instance you can randomly select members of a jury who then decide by consensus.
- nairboon 11y agoI do like your idealism. But what means "to give everybody the same voice"? Is this about having your voice heard? Or about actually participating in a decision? Either way, only the pure direct democracy guarantees both. In the end you still have the rule of the majority. What you might be looking for is some sort of equal representation of "minority groups"? We're somewhat doing this in Switzerland on the executive level and this only partially works because the executive is explicitly chosen to be very "consensus friendly" in other words no extreme (left/right) positions. But this won't really work with the legislature, because there we have all kind of incompatible ideologies. There is simply no consensus possible with the contemporary ideologies (socialism, liberalism, conservatism, etc.) by their very definition. If you insist on consensus, your decision making process will simply deadlock forever. How can you ever unlock it? By shifting to a almost-consensus aka direct democracy.
- js8 11y agoIt is about actually equally participating in the decision. I agree with you on direct democracy, I am big fan of it (since about 2000). Consensus can work but only in a very small groups. That's why I explained that there are different methods to achieve democratic participation and have different trade-offs. I don't think ideologies are big a problem for direct democracy. I think they are artifacts of representative system, where you have to choose a package of things, rather than when you can decide each issue in isolation. From what I heard, that actually happens in Switzerland - since everybody is sometimes in a minority in referendum, people don't take losing as a big deal.
- Vorcin84 11y agoWhat I meant is, who do you give a vote, and what do they get to vote on? If I were a developer, I wouldn't want to work on things that the vocal/voting people want to use. I want to work on the topics that I like. Even if the participants voted on something, it is not binding to anybody.
- dingo_bat 11y agoI think democracy is almost the worst way to take decisions when it comes to scientific/engineering things. In an open source project, a single expert should be able to overrule the mass of users/contributors if his point is technically more correct. This is very difficult to consistently achieve in a democracy. I would love to see the results/conclusion of this research. We would finally get some data-backed insight into why/why not democracy is good for a software project.
- softmodeling 11y agoIn principle, one tends to agree with the sentence about experts overruling the mass but in fact we don't accept this behaviour in economy or any other aspect of our lives. So, maybe it's the right to do it but I'd love to have more data (and confidence) on that. Also, it's not only about technical decisions but also regarding who decides what feature should be implemented next
- dudul 11y agoWhat do you mean "we don't accept this behaviour in economy"? I believe we very much let experts handle the economy. Or are you talking about the fact that it is a widely criticize state of affair?
- oneJob 11y agoThe Fed Chief is put there by elected officials. Same for Treasury. Same for most of the regulatory agencies. The economy is very much handled by fiscal, monetary, and regulatory policy, which is handled by individuals that are handled by elected officials. Seriously, the amount of basic misunderstanding of all things not programming related here on HN is starting to get to me. I can't read these threads without being compelled to correct such obvious errors. If you don't know what you're talking about, at least phrase it in a way so that it comes across as an opinion, or better yet, research before you type. It's ruining the quality of these threads.
- 11y ago
- XghTk 11y agoLet's vote for it! https://docs.google.com/forms/d/1aN7VRwyEmHP7Y4DTF4tkWz_VSea6VdTXQhlbClwgllk/viewform?usp=send_form https://docs.google.com/forms/d/1aN7VRwyEmHP7Y4DTF4tkWz_VSea...
- Mikeb85 11y agoNo. Open source should be more like Darwinism. If you want to make a change, you fork the code. If the creator(s) likes your changes, they incorporate it. If a code base is good, it survives, if it isn't it dies. The key point is freedom - your freedom to do whatever you like with the code, and the creators freedom to do what they like.
- EvanPlaice 11y agoYep, brutal cold-hearted darwinism. Authored a popular project and haven't felt like working on it for 6 months? No worries, somebody will fork it and take over the development. Or create something better. It baffles me how hurt some people get because they had an issue closed without a resolution or a PR rejected because it was out of scope of the project's roadmap. In the bigger picture, projects that don't aggressively maintain high standards of quality AND continue to improve are as good as disposable.
- bluejekyll 11y agoYou ignore the cost savings in terms of project build and testing that you lose by going your own. Though, if more people adopted a fork and build your own, we'd probably have more people involved in open source. Then again, Darwinism really has a group that progresses together, not lots of little forks of individual development. You need some form of merging things back together at some point, otherwise you end up with tons of incompatible derivations of the project.
- EvanPlaice 11y agoYou're correct. I wasn't implying starting from scratch. Rather fork and continue where the upstream project left off as long as there are no hard license restrictions. Sometimes, a merge never happens due to neglect or the unwillingness of the maintainer to cede control and grant push access. One specific project I've used that follows this pattern is NodeFTPd. It's a ftp server written in node. I use it to run functional tests on my node-ftpsync project because mock ftp servers don't exist for JS. It is now 4 layers of forks deep since I started using it. Each added considerable improvements on top of the previous fork. It's one of those dependencies where I'll make the extra effort to check the network graph before updating to see if any of the derivatives are approaching or have surpassing the fork I'm current using in popularity. Apparently, a FTP server is an extremely valuable application despite many devs failed efforts to manage the project over the long-term. The real issue is central repositories like NPM/Bower. I had one dev fork a project of mine to host on GitHub because it was on Google Code at the time. He then registered his copy on Bower before I had a chance to. So now, not only is it hosting an outdated copy but I physically don't have access to update it. For all the dev's huffing and puffing about how he was going to take over the project in my absence He made approximately 3 minor commits (which I later merged) and disappeared from the face of the earth.
- forgottenpass 11y agoIn fact, the one that says how decisions are taken follows a Benevolent Dictator for life model. Cleary, not something we would accept in any other community aspect of our society. There are a handful of counter examples floating through my head. The BDFL model can be described generically as willing collaboration among peers where one ultimately has the power to control the project. The strongest example that comes to mind is bands. A band can have a very similar model, they - like open source - can also have a project structure nothing like a BDFL. Cleary, not something we would accept in any other community aspect of our society. This is also kinda funny to me because if we make a theoretical BDFL more controlling than we expect from an average Open Source BDFL, we accept this model for collaboration _all the time_. It's called "management." What's not funny is that this is the premise is treated as axiomatic by the researcher.
- TeMPOraL 11y agoMoreover, BDFL has clear upsides over a more democratic model. Not considering that "in any other community aspect of our society" is just stupid.
- kardashev 11y agoImagine a building whose design and construction was governed by democracy. The architecture would be a horrible mish-mash of whatever happened to be popular, and likely architecturally unsound and unsafe. The actual construction would be a nightmare too, since someone would have the "brilliant" idea of painting drywall before laying it so people don't have to use unsafe ladders, ect. Software can be millions of times more complicated than building blueprints. Why in the hell do you think democracy will work for software when it doesn't work for office buildings? Contrast this with the way open source development generally proceeds. A single developer (or maybe a few) create a software project as the core team. They are the experts for that project. Other people can make suggestions and contribute, but it's up to the core team to decide if something meshes with the vision they have for the project. What if someone disagrees? They can simply fork the project and try out their own vision. They are the expert of their own project. This has some amazing consequences. First of all there can be multiple winners. Project A can be very popular, yet project B, which caters to a minority, can also exist and serve people with different needs and tastes. Second, it allows parallel experiments of multiple ideas, which encourages rapid innovation to take place. Finally, it helps minimize conflict between people, since you can join or start a project that meets your fancy without penalty. Contrast this with democracy. In a democracy it's winner take all. Majority vote determines what everyone has to live with. This creates conflict and intense competition (including bribes and corruption) to get majority vote. It slows innovation because things can only be done one way at a time, whichever way was popular. There can be no single vision, everything becomes a huge contorted mess. It's hard enough to architect software with a single vision. You should be doing research on how to make politics more like the (multi)governance of open source development, not the other way around!
- js8 11y ago> Imagine a building whose design and construction was governed by democracy I haven't seen that, so it's hard to imagine (and I would thus reserve my judgement on that). But I have seen comedy governed by democracy, and it's not as bad as you suggest: https://en.wikipedia.org/wiki/Monty_Python https://en.wikipedia.org/wiki/Monty_Python But I do agree it's a mish-mash. :-) Anyway, I think it's hard to make the OSS model work in politics. In politics (and other fields), you are severely resource constrained. However, in OSS model, anybody can fork the code on their own system.
- zekevermillion 11y agoName any software you use that is produced by a democratic process... anyone?
- softmodeling 11y agoA few centuries ago were no democratic societies either (and some of us still have kings :-) ). Does this mean we should have stayed like that?
- zekevermillion 11y agoNo, it doesn't mean that monarchy is better. But if you want to argue for democracy in open source projects, the lack of positive examples does merit some consideration.
- forgottenpass 11y agoI find myself harumphing at much of the proposal. It's not the topic itself; democracy can work in open source, and I think Debian is well served by that model. There are interesting things to be researched about open source project management, but the approach doesn't seem to face them head on, and is full of assumptions that could be detrimental to the usefulness or quality of findings. I'd have to really dig into the proposal but I don't even have time to fully absorb that blog post. I'll try to expand on this after work if I still give half a damn.