Two Open Source Ideologies That Are Just Wrong

Yesterday, Oracle announced they are proposing to move OpenOffice to the Apache Foundation.   Similar to Oracle’s announcement of moving Hudson to the Eclipse Foundation, this announcement has received mixed reviews.   Like the split in the Hudson and Jenkins community, there is also the LibreOffice fork of the OpenOffice community.  Some of those people that oppose the move are promoting ideology about open source software that is just wrong.   Luckily I am here to correct them.  🙂

Ideology #1: GPL/LGPL keep developers honest

Bradly Kuhn, a well known Free Software and FSF evangelist, has written about how disturbed he is Oracle is relicensing OpenOffice to Apache Software license.  He claims ‘The LGPLv3 currently keeps such developers “honest”; the Apache-License-2.0 will not.‘   This is just wrong.   Developers or companies don’t need to be kept honest; developers and companies contribute in open source projects because it helps themselves.   If developers needed to be kept honest, why are there so many successful Apache projects today?   Looking at Eclipse projects, which uses a weak copyleft, I know of very very few contributions that have come into Eclipse because the developer was ‘forced’ to contribute due to license obligations.   People contribute back once they have used the project technology and see benefit to themselves for contributing back.

Kuhn talks about his preferred license would be AGPL or use ‘strictest copyleft possible‘ meaning the GPL.   I would suggest strict copyleft license like the AGPL and GPL are a dying breed.   At a recent open source confernce, a well know open source lawyer claimed GPL v3 has been a failed experiment, with little adoption.  As an experiment, name one popular community open source project created in the last 5 years that uses the AGPL or GPL?  JQuery  (MIT but also GPL v2), OpenStack (Apache), Hadoop (Apache),  Hudson/Jenkins (MIT), nodejs (MIT) and Android (Apache).    I claim all these project use a permissive license to get as many users and adopters, to encourage potential contributions.  They aren’t worried about trying to force anyone.   You can’t force anyone to contribute to your project; you can only limit your community through a restrictive license.

Ideology #2: Open source project should all play nice together

When Oracle announced their proposal to bring Hudson to Eclipse, a number of people complained to me and others why didn’t Eclipse Foundation force Oracle to work with Jenkins.   There is a similar conversation going on with Oracle participating with LibreOffice.  It seems people believe Apache should have rejected the project proposal, so Oracle would be forced to work with LibreOffice.

First, let me state clearing, open source projects compete with each other.   Eclipse and Apache have a number of competing projects, ex. Equinox/Felix, Jetty/Tomcat plus others.   The Linux distros compete with each other.  Competition is good.  Open source is not all one happy family.  Sorry.

The right to fork is a key principle in any open source project.  If you are not happy with how things are going, you can pack up your code and leave.   This is what Jenkins and LibreOffice have done.   They didn’t like working with Oracle, so they left.   I applaud them for taking the initiative.   Both forks have done an excellent job getting themselves organized and operating.

However, conversely Oracle is well within their rights to not to want to work with Jenkins or LibreOffice.  Oracle and others have every right to say ‘I don’t like what they are doing, so I am going to do it differently’.  I realize this is not optimal for the end-use or plugin communities.  However, trying to force individuals or organization to work together is not how you run a successful open source project.   Successful open source is about collaboration of individual and organizations.   You can’t force this collaboration.

Simon Phipps on twitter has been bemoaning the fact the IBM and Oracle are trying to shutdown LibreOffice.  I doubt IBM or Oracle have any strategy to actively shutdown LibreOffice.   Oracle and IBM are really saying ‘we like how Apache does things so we are going to work there’.   This is their right, just as it is everyone else’s to use LibreOffice.   Freedom and choice is the real power of open source.  Assuming everyone is going to work together in one big happy family is just not reality.

40 thoughts on “Two Open Source Ideologies That Are Just Wrong

  1. Great post and I totally agree.
    That’s not to say that we can excuse bad behavior but that free will and freedom to meet unique needs are surely cornerstones of the OSS movement too!?!

  2. I totally agree that competition isn’t a bad thing… and that freedom and choice is the real power of open source. My only issue is that Oracle could have been a bit better with timing, they moved a bit slow with both projects…

    1. On the flip side, now that there’s twice precedence, maybe we need to be a bit more patient. Although I’m sure there’s a middle ground.

  3. Amen. Brilliant,retweet, can you see this flicked Bic lighter in the air? (OK, that’s too old school, I know. But you get the idea.

    Freedom and choice is the real power of open source. Love it.

  4. @simonreavely I agree we shouldn’t excuse bad behavior and we also can’t/shouldn’t try to block good bahavior

    @chris Oracle has moved too slow but at least they are moving now. That is goodness.

    @dana and @donald thanks

  5. I’ve come to appreciate the “right to fork” as a cornerstone of Open Source.

    Although, I’d love for participants in the forking discussions to try harder to be objective and transparent about their needs / motivations, but I know that can’t always be the case…

  6. Thank you for touching base on the competition issue. Too many people forget that open source doesn’t mean we all have to work together on one project. Without competition, developers wouldn’t strive has hard to improve existing projects.

  7. Pingback: Twitted by maslett
  8. You asked: “name one popular community open source project created in the last 5 years that uses the AGPL or GPL?”.

    How about OpenJDK? (surprised that Donald didn’t mention this one!)

    Your points about limiting the community still apply though. In fact Sun’s goal in choosing GPL seemed to be very explicitly to limit the community, and they did not need to worry about adoption since that had already been achieved in spades.

    1. Ironically perhaps the GPL is a very useful license when you want to limit the rights of people to use your code (but still be seen as open). Particularly if you also sell proprietary licenses that aren’t GPL encumbered.

      1. I find it funny how whenever someone complains about the GPL being too “limited” it is always because they want to release a derivative work that is more restricted than the GPL licensed work is.

        It’s like being upset that your arms got cut off because now you can’t chop off the arms and legs of everyone else.

  9. Although I agree with your point #1, I think your point #2 mis-characterizes what people are asking of open source organizations like Apache and Eclipse Foundation.

    I believe that at least some people are saying that as distinct orgs, Apache and Eclipse should prevent corporate bad behavior (i.e. not collaborating/doing things unilaterally, not listening to the community, doing only what’s in their own interests). There’s plenty of corporate bad behavior WRT open source these days, and what’s the point of a non-corporate org at all if they simply do whatever the corporate sponsors tell them to do…rather than represent the interests of the other community members (e.g. small companies, independents), and the consumers (who, of course, are the ones that naturally suffer most).

    By way of comparison, there are plenty of EF rules to prevent individual committer ‘bad behavior’ (WRT keeping IP clean codebase, etc). Why don’t analogous organizational rules apply to corporate bad behavior?

    1. A point of clarification:

      Eclipse has corporate members who have influence over the actions of the foundation and it’s projects. The rules are made, in a large part to benefit it’s members. In legal terms Eclipse is a 501c(6)

      The Apache Software Foundation does not have corporate members. It’s rules are made by individuals for the public good. In legal terms The Apache Software Foundation is a 501c(3)

      Both the ASF and Eclipse has a history of taking action against corporations that do not play by the rules, or who choose to try and stack the deck in their favour. This does not mean that the rules are perfect. In some cases the way that are written is (arguably) flawed in other cases they are step behind corporate tactics, in others the interpretation of “bad behaviour” differs.

      1. >In some cases the way that are written is (arguably) flawed in other >cases they are step behind corporate tactics, in others the interpretation >of “bad behaviour” differs.

        Yes…I agree. I was just asserting that when the community comes to the org and says…effectively…’can’t you do something about this corporate behavior’…it’s (probably) a sign that the community thinks something is not right.

  10. @Scott all companies, not just individuals, are expect to follow the existing Eclipse governance rules for them to participate, ex trademark guidelines, IP, release reviews, etc. Not sure how we can mandate behavior of companies or individuals outside the scope of Eclipse.

    1. I was not saying that the corporations don’t follow the existing rules..although that is also clearly true in some cases…for example the commitment of 8 full-time committers as per the membership agreement.

      What I was saying was that the EF/Apache foundation should have more corporate bad behavior rules…and then actually enforce them. Currently, I would say the corporate membership can engage in quite a lot of bad community behavior (as we see here), and the EF won’t do anything about it.

      More such bad corporate behavior rules…and enforcement…is what I think people are implicitly asking of the EF and other Foundations. These orgs are the only resource available to much of the community to prevent such behavior. Responding with ‘people/corps are not going to play nice some times, and so bad things happen to the community’ doesn’t seem responsible to me…especially since from my chair it’s happening more and more.

      1. @Scott I am pretty sure you and I are will disagree on what is bad behavior. Which is kind of my point about people aren’t always going to agree so trying to force people to work together is not a winning strategy.

      2. I think if any Foundation that exists to support having people work together doesn’t do something to make sure they actually work together, then the organization won’t be around for long.

        WRT bad corporate behavior: if it smells like **** and tastes like **** (to the community…rather than you or me) then it’s ****.

      3. Hi Scott… please don’t think I’m trolling you but I honestly don’t know what “bad behaviour” has got you so upset.

        I think that Oracle has been fairly cack-handed in both the contribution of Hudson to Eclipse and now OpenOffice to Apache, not least in terms of timing. But after all, never attribute to malice that which can be adequately explained by incompetence.

        The only bit of actual, recent *bad* behaviour (that I can think of) was the way Oracle and IBM screwed Apache Harmony. But what do you think Apache or anybody else could do about it… rules or no rules?

      4. Neil,

        >But after all, never attribute to malice >that which can be adequately explained by >incompetence.

        I’m not making any attributions of causation Neil…in my experience organizational incompetence is frequently behind lots of bad behavior (defined by me purely in terms of outcome for the community rather than by intentions).

        >The only bit of actual, recent *bad* >behaviour (that I can think of) was the >way Oracle and IBM screwed Apache >Harmony. But what do you think Apache or >anybody else could do about it… rules or >no rules?

        I’m not aware of exactly what’s gone on here…so I don’t really know what Apache could have done about it. But it seems to me that something is wrong…if an organization like the Apache Foundation can’t prevent corporate members (they are members of the org, right?) from basically dictating to the org and *all* it’s members. Sadly, that seems close to the notion of ‘capture’ to me.

  11. Nice essay. However, it discusses the issue from and “Open Source” standpoint. Kuhn, RMS and others who advocate strong copylefts argue from a “Free Software” standpoint and over there, the point is not to increase community (although that’s necessary to keep the project going). It’s to provide a piece of libre software and to keep it that way permanently. The hardline stance is sometimes (often?) harmful to actually getting projects to flourish especially in these times when a lot of FOSS developers are paid employees of some company who’d prefer that they worked on software that was more permissibly licensed. However, that was never the intent of the free software activists. Like I said earlier, their interest is in user freedom (with their 4 point definition).

    I’m not taking sides but my point is that the thing which most free software supporters are arguing/fighting for and the thing which most open source people are fighting for are different.

    I personally feel that the ideal point is somewhere in between. I lean towards the free software camp though.

    In any case, great post! 🙂

  12. The difficult part of “name one popular community open source project created in the last 5 years that uses the AGPL or GPL” is “popular open source project created in the last 5 years”, e.g. could you answer “name one popular community open source project created in the last 5 years that uses the color green in its logo?” Especially open source projects with lack of interest in marketing and low marketing budget take some time to get popular.

    Often it makes sense to promote an open source project to get feedback and contributions but sometimes it’s only waste of time. Even without community there are non-ideological reasons to make your project open source: you can host the project at SourceForge, Google Code, GitHub, etc. and probably, you will write better code because you know that other people can read it.

    Even though Oracle was too late with OOo and Hudson it’s nice that Oracle is spending a part of its budget in open source. Independent of why these forks Jenkins and LibreOffice have been created now the question for Eclipse and Apache is: make it sense to spend resources in a technology if there is a probably better similar technology? It’s about technology not about ideology, isn’t it? Why prepare your own dog food if you can get yummy dog food for free? Apache and Eclipse have the freedom of choice, too…

  13. Terms like “freedom” and “choice” are buzzwords used by evil corporations with hidden agendas, and individualists who have no sense of social responsibility. What we really need here is for the federal government to create a Department of Software that (1) enforces GPL3+ /AGPL for all “open source” software, regardless of the stated license type, (2) prevents the chaos of indiscriminate forking, and (3) mandates contribution levels from all the corporations that benefit from using any such software, or incorporating it into their own products or services. With the right leadership, such a centralized organization for our efforts will be a beacon of hope to all software developers worldwide, maximizing the results of our efforts and increasing the utility of software while reducing cost.

    1. Preventing forking (indiscriminate or otherwise) goes against one of the main benefits of FOSS. Forks generally only succeed if they can meet or exceed the momentum of the original project, which generally happens if a significant number of key contributors are part of the fork.

      Enforcing a license won’t do any good either. By “federal government” I assume you mean the United States government, but FOSS is a global phenomenon and any one project can have contributors from around the world. The freedom aspect of FOSS relies on more than license alone; it’s possible to use copyleft to gain an unfair advantage (e.g. as many dual-licensing or “open core” companies do) and in some cases a permissive license is a better choice.

      1. U.S. government to start (perhaps with a “Software Czar”) followed by other nations, with eventual U.N. standardization and global enforcement. The governments of the world should be protecting software as a resource–both to prevent abuses by corporations and to maximize the benefits to end-users and developers alike. I agree that licenses aren’t enough, though GPL3 is the best license to start with; it should become a global law. Relying on various licenses and the chaotic “FOSS community” to police itself hasn’t worked, clearly. Put the government in charge, that’s what they are there for. Only governments can impartially represent the interests of the public.

Comments are closed.