Remix.run Logo
edent 9 hours ago

I think you've read something into my post that I didn't intend.

I'm specifically talking about the community of people who do contribute. If you look at the recent shenanigans of WordPress and Ruby, they are causing discontent within the existing organisation of contributors.

Those contributors are, of course, free to fork off if they want. But if you're trying to build a long-term viable project, then you need a way to ensure that the people working with you are treated fairly.

btilly 6 hours ago | parent | next [-]

Even if people are reading something into your post that you don't intend, they are reading it for good reason. Which is that your post sounds exactly like an attack on any technically competent person that runs an open source project.

This fits squarely into a pattern that open source people deal with all of the time. Namely that someone tries to gain control of a project by appeals to "community", while subtly insulting the people who actually did the work. The result is toxic politics that, if it is left to stand, drives away technically competent contributors. And which makes leading that project a misery.

If you don't want to come across this way, you absolutely need to get rid of rhetoric like the paragraph beginning with, "The last year has seen several BDFLs act like Mad Kings." Anyone who has encountered this antipattern will see exactly what that leads to. It is a rhetorical club that can be levied against any technically competent person who objects to something based on technical concerns. The self-proclaimed "community leader" doesn't need to address those technical concerns. They just need to imply the ad hominem. Suggest that the contributor is the would-be Mad King. There are a number of ways that this can end. All of them are bad.

Now I'm not saying that you are bringing up an unimportant issue. But you REALLY need to check your tone if you wish to convince the people that you are supposedly addressing.

travisgriggs 5 hours ago | parent [-]

> Namely that someone tries to gain control of a project by appeals to "community", while subtly insulting the people who actually did the work.

Lately, I’ve taken to labelling these different behaviors with D words: Doers, Discussers, Deciders, etc.

It’s amazing to me how often people want to create a specialty for themselves, where the doing is relegated to the doers, but all the doing is dictated by others.

This happens in businesses, NGOs, communities, churches, just about everywhere.

btilly 5 hours ago | parent [-]

It isn't amazing when you see how it tends to work out for those who succeed in a corporate context.

There is a natural competition to become an "idea person" in an organization. If the project goes well, the idea person gets the credit. If the project goes poorly, the people who actually built it get the blame. And it takes far less work to produce promising ideas, than to actually build stuff. The result is that succeeding in getting other people to implement your ideas becomes a fast track to promotion. Unfortunately, the farther that you get from the actual implementation, the worse your ideas get. Compounding that is the fact that the ideas that convince executives far too often are the ones that play buzzword bingo in the right way, rather than the ones which are grounded in pragmatism.

This is why I've learned to be suspicious of anyone with a job title of "architect". Some are amazingly good. But most that I've dealt with, are decidedly not. But when you hear them talk about it, they always sound like they are amazing.

ecshafer 35 minutes ago | parent [-]

> If the project goes well, the idea person gets the credit. If the project goes poorly, the people who actually built it get the blame.

Oof this hits hard. So true. My first job as a developer at a corporation was moving from paper forms to digitally signed forms. We worked really hard for a year integrating with vendor products, saved millions of dollars in work time and error reduction a month, recurring, forever. We even got a nice call out at a town hall from the CEO.... we thought until the name that was called who "brought it all together" was some person none of us on the team had ever met, was never in any meetings, never did any work. But they probably pitched the idea two years ago.

ecshafer 7 hours ago | parent | prev | next [-]

Communists take over a country and millions of people die. Fascists take over and millions of people die.

Wordpress is some legal issues that is going to result in a law suit and some word press developer having to work overtime. Ruby Bundler has some people losing maintainer access and some hurt feelings.

Lets not compare apples and oranges here.

purple_turtle 7 hours ago | parent [-]

Or rather apples and planes.

Or oranges and ICBMs.

purple_turtle 8 hours ago | parent | prev | next [-]

Post explicitly makes request to all project leaders: "I'm begging project leaders everywhere".

As one of them I want to state that others, including you, are not entitled to decide how I run my project. I want to express that I am thankful that this one is phrased as suggestion.

But I utterly reject that open source project is substantially similar to governing a country in responsibility and preferred setup.

So I reject your analogy and suggestions as highly flawed.

glenstein 8 hours ago | parent | next [-]

I don't take it as a request that you open your process to granular shot calling or feature requests from from users. Ignore them all you want! But I would put transition/succession in a different category.

Maybe in a sense requesting your project have its own life-after-death counts as "shot calling" from your perspective because it's still essentially about what "they" want rather than a sober reflection on your time/capacity/interest, but I think at least that it's different from ordinary feature requests.

Aperocky 7 hours ago | parent [-]

It does sounds like forking is the right way to go in that case. Several successful product are forked and maintained after the original author lost interest without any involvement from them.

8 hours ago | parent | prev | next [-]
[deleted]
shkkmo 7 hours ago | parent | prev [-]

> As one of them I want to state that others, including you, are not entitled to decide how I run my project.

If that is the attitude that you take towards everyone who contributes to your project, then you probably aren't a very good leader. That is, of course, your right.

But if you were interested in the long term survival of your project and attracting other developers to contribute, then it behooves you to consider the desires and needs of the community of contributors.

> But I utterly reject that open source project is substantially similar to governing a country in responsibility and preferred setup.

"Consent of the governed" is about countries, it is about leadership and where the privilege of leadership comes from. If you are leading a software project, does your authority come from god? Or does it come from the willingness of the people working on that project to listen to you? That is "consent of the governed".

6 hours ago | parent | next [-]
[deleted]
purple_turtle 6 hours ago | parent | prev [-]

> If that is the attitude that you take towards everyone who contributes to your project, then you probably aren't a very good leader. That is, of course, your right.

Word "decide" was there deliberately. I am not fully opposed to consideration of suggestions made by others.

Though I may consider them and reject, like here.

And I will take opinions of contributors into much serious considerations than this blog post, for multiple reasons.

From position of maintainer in one of projects: primary risk to the project is main author running into too many annoying people and focusing on other hobbies.

And I in fact did it with one of projects. Some other maintainers also left. The same people who caused this by their entitlement are now complaining about project being stagnant.

> Or does it come from the willingness of the people working on that project to listen to you? That is "consent of the governed".

Major difference is that for countries if someone does not consent to decisions of ruler/parliament/etc. they have little to no recourse.

It ranges from extremely hard to impossible to change law or national policies or migrate to another country.

In comparison the worst case of forking open source project is much easier.

Control of open source project is much weaker and people forced to contribute are fairly unusual and rare (though in such cases I would consider my responses to blog post to be not applying, my comments were more focused on hobby projects).

If someone does not want to participate they may easily stop. This does massively differ from countries.

lapcat 8 hours ago | parent | prev | next [-]

> If you look at the recent shenanigans of WordPress and Ruby, they are causing discontent within the existing organisation of contributors.

This is why I think the article is a bit of misdirection. Your criticism is about project governance not about project succession.

You want the leaders of WordPress and Rails to step down now because you don't like how they behave in power, not because of the danger that the leaders might die or disappear and leave a power vacuum. I feel that the Mastodon example is a red herring here.

edent 8 hours ago | parent | next [-]

Governance and succession are intimately tied. I feel that part of the problem with WordPress and Rails is that that there is no model for replacing poor governance.

hobofan 8 hours ago | parent | next [-]

> there is no model for replacing poor governance

Do you have any model to propose? Because most democratic models you would see for country governance (to which you drew parallels) rely on some key characteristics that don't apply to open source governance, making them not really transferable.

layer8 7 hours ago | parent | next [-]

Debian is an important open-source project that has had codified democratic governance for over quarter of a century now: https://www.debian.org/devel/constitution

JoshTriplett 7 hours ago | parent [-]

One property Debian has, which most projects don't have, is a very clearly established electorate to enfranchise.

A few projects have a clear set of members. Most projects don't; they have contributors of code/documentation/triage/community/etc, but no clear delineation of who is or should be an enfranchised member of the project. Often, projects don't end up defining this until they need it as part of establishing some preferred form of governance.

hobofan 3 hours ago | parent [-]

> A few projects have a clear set of members.

Exactly.

I'm not too versed in political theory, but one thing from my perception that provides coherence/continuity in nations is the immobility of participants (for better or worse of the individual). E.g. if you have 70/30 election outcome you still have to factor in the needs of the 30% as they may provide important economic functions and can't just leave on election loss.

In contrast, in an open source project, even if you can clearly delineate membership and based on that voting rights for a democratic process there is very little preventing the "losers" from forking (it almost entirely comes down to brand). The outcome of that would just be an empty brand shell with a good chunk of their contribution activity gone.

edent 7 hours ago | parent | prev [-]

Most organisation (in my country at least) have a written set of objectives and a legal structure which diffuses power.

Any co-op, limited company, charitable association, etc can provide a good model - depending on the nature of the project.

As I say, it is probably overkill for most OSS projects. But once you get to a certain size, I think it is obvious that you need a way to ensure the project's longevity.

The death or disgrace of a CEO rarely destroys a company. There's a board their to temper their behaviour, a structure to ensure succession, and (most importantly) a set of expectations upon which their community can rely.

I'm not saying that's the only way to do it. I'm not even suggesting it is the perfect way to do it. But I think it is better than hoping the BDFL doesn't implode.

hartator 7 hours ago | parent | next [-]

Non-profit entity has usually more drama. And, you can still be “dictator” of a non-profit.

paulryanrogers 7 hours ago | parent | prev [-]

Sadly plenty of boards are filled with CEO sycophants, so even that model is not immune.

tracker1 7 hours ago | parent | prev | next [-]

Sure there is... Forking and convincing a significant portion of users and contributors to move with you.

This happened with iojs... Which is where Node as an org today came from. It happened with xfree86 to xorg...

It also fails plenty... I'm the the, you are not entitled to someone else's work. Make your own, or if the license permits, create your own fork... And if you lack the technical ability, sucks to be you.

msh 8 hours ago | parent | prev | next [-]

There is a model, it’s called forking the code.

tremon 8 hours ago | parent [-]

Forking the code fractures the community. The discussion at hand focuses on the community, not the code.

cortesoft 7 hours ago | parent | next [-]

If you feel like you need to fork the code, the community is already fractured.

If the community agrees with you that the original author is doing things wrong, and your new approach is better, they will move with you to the fork.

If the rest of the community doesn't agree with you, they will stay. If some stay and some go, it means only some of them agreed with you.

That's the thing about open source - you don't actually have to form a consensus. You can split off whenever you want.

munificent 4 hours ago | parent [-]

> you don't actually have to form a consensus. You can split off whenever you want.

This is true and is a key property of open source.

But it's also true that network effects and economies of scale are key for how open source projects provide value to their users. Those effects mean that the value an open source project provides to its community is often super-linear relative to the number of users.

A concrete example: If someone writes a blog post about how to use some feature, every other user of the feature can benefit from it. But also every user can potentially write this kind of documentation. So the value people provide through documentation is very roughly quadratic in the number of people reading and writing docs.

Because value like that scales super-linearly with the number of people in the ecosystem, breaking a community in two can result in less total value even if the total number of users of both communities put together is the same.

If you fork and the forks diverge, now a given bit of documentation may only be relevant to one side of the fork. A given person writing some docs may documenting things that are only true for one fork.

tracker1 6 hours ago | parent | prev | next [-]

So does trying to unseat leadership.. forking is just more honest and takes more effort.

dmitrygr 4 hours ago | parent | prev [-]

Until such a time when my compiler learns to take "the community" as input and still produce working binaries as output, things will remain all about the code. C'est la vie.

dmitrygr 4 hours ago | parent | prev | next [-]

> Rails is that that there is no model for replacing poor governance

poor, according to whom?

ktallett 8 hours ago | parent | prev | next [-]

But if it is someone's project, why should they have to leave if governance doesn't go the way they wish? The point of open source is sharing your work so others can use it and edit it. They have done their part and they maintain it as they choose whether that suits who uses it or not. I create open source projects myself, because they are applications I need or want. They are open source licensed so feel free to use them as such but my original code will develop and evolve as I choose.

neilv 7 hours ago | parent | next [-]

> But if it is someone's project, why should they have to leave if governance doesn't go the way they wish?

Many projects start as someone's project, but become bigger than the one person.

If they keep it as one person's project, that's clear.

If there are other contributors, that's less clear.

If the project has a formal organization with governance, it's not the person's project. They might be grandparented in, like a vestige of a past monarchy, but the governance will evolve, to elections. The royalty will be kept for the tourism dollars.

immibis 8 hours ago | parent | prev [-]

I think this is all under the assumption that your goal is to make the project as successful as possible. If that's true, then if people think you should step down, you should. BUT can that happen? If you're trying to maximise project success, how can you also be so bad that people want you to step down? If you're not contributing but good-hearted, then you should select someone to run it day to day, but retain ultimate power in case that person turns out worse than you.

lapcat 8 hours ago | parent | prev [-]

> I feel that part of the problem with WordPress and Rails is that that there is no model for replacing poor governance.

But Eugen Rochko was not replaced. He voluntarily stepped down from power because he was personally dissatisfied in the leadership role. Nobody was calling for his ouster. He could have continued as leader of Mastodon for many more years with nobody batting an eyelash. So again, Mastodon is a red herring.

torginus 6 hours ago | parent | prev [-]

Wasn't the WP fight at its core about who gets to make money from WordPress? With the original author in one corner and the company with the rights to the trademark in the other?

I'm not sure how moral posturing fits into this.

fsckboy 5 hours ago | parent [-]

>Wasn't the WP fight at its core about who gets to make money ... I'm not sure how moral posturing fits into this.

“If you have a case where the law is clearly on your side, but the facts and justice seem to be against you, urge upon the jury the vast importance of sustaining the law. On the other hand, if the law is against you, or doubtful, and the facts show that your case is founded in justice, insist that justice be done though the heavens fall. If both the law and the facts are dead against you, in that case, talk around it, and the worse it is, the harder you pound the table.”

btilly 5 hours ago | parent [-]

This is usually shortened to:

If the facts are with you, pound on the facts. Else if the law is with you, pound on the law. If neither is with you, pound on the table.

peauc 8 hours ago | parent | prev [-]

What kind of issues are you referencing with Ruby ? I have followed the Wordpress drama.

edent 8 hours ago | parent | next [-]

See, for example, https://joel.drapper.me/p/rubygems-takeover/

jeltz 8 hours ago | parent [-]

As far as I know that is really the only example. And to clarify it is about a struggle between who controls Rubygems and Bundler, not Ruby itself. A key component to be sure but maybe not that relevant to this discussion when the ones running the infra hijacks the GitHub project. That was an inside coup.

beanjuiceII 7 hours ago | parent | prev [-]

he will present one side of the ruby story and use that as the moral high ground