Freedom Is Important

This is why software Freedom is important, and why the “use the best tool, whether it’s open source or not” attitude gets you in trouble in the long run.

We need to be prepared to use inferior but Free applications and, scratching itches, make them better. And we need to gently persuade other community members to do the same. The Open Source movement has reduced the talk about software freedom and we need to value and promote it again before we get taught more nasty lessons like this one.

Update: Random example of what I mean:

I know that binary-only drivers are a sore spot with free software purists, but I’d rather have a fully functional, if closed, Nvidia driver than a reverse-engineered one that limps along.

With a basic level of driver stability, Linux could become as easy as Windows to support.
The State of Laptop Linux 2005

17 thoughts on “Freedom Is Important

  1. I’m not sure about this. Yes, Linus is now changing his source-code management system. And yes, if ‘BitKeeper’ had been software libre then he wouldn’t’ve had to: even if BitMover dropped it, others could pick it up and carry on (like what’s happening with ‘SeaMonkey’).

    But it doesn’t necessarily follow from that that Linus was wrong to have chosen ‘BitKeeper’ in the first place. He’s got useful things done with it over the past 3 years, and the state of software libre source-code tools has improved during that time. It’s likely that whatever tool he now chooses wasn’t available, or in such a good state, in 2002.

    (Note I’m not saying Linus was right either! I’m justing saying the fact that he’s moving now doesn’t mean he was wrong then.)

    Smylers

  2. Well, OSDL could just have stop funding a reverse enginering effort instead of just doing nothing.

    The license is AFAIK pretty clear:
    if (NoReverseEnginering && usedOnLinux)
    price = free
    else
    price = $$

    By funding a reverse engineering effort they simpyl choose the high price.

    To me it says more about the FOSS peoples attitude , than pros and cons og closed source.

  3. Gerv, this argumentation is sooo flawed. If marketshare and the costs of your development is of no importance then you can of course use the worst tool (somehow gdb comes into mind) and spend your time fighting your tools. Should mozilla ship a mingw build which is probably slower than a VC build only because the tool is free as in speech? There is no long run if your opportunity window closes because you have been too slow.

  4. While I totally agree that it’s important to talk about, push for, and emphasize the importance of software freedom, I’m not sure I totally agree that outright rejecting anything that’s not Free is the best way to go.

    For every Bitmover or MovableType(?) who decides to pick up their toys and go home, there’s a Troll Tech who decides to GPL their code to escape the endless licensing flamewars, or a Java or .NET which gets a Free reverse engineered implementation.

    Even the Bitkeeper situation may, in fact, turn out for the best: the success of kernel development using it has definitely proven that there is value in this style of SCC system, and the *removal* of Bitkeeper has greatly increased the motivation to provide a Free alternative. It’s practically certain that one will spring up within the next year or so – which wouldn’t have been at all certain if Linus hadn’t used Bitkeeper in the first place.

    I guess the conclusion I’m forced to draw (which I’m not sure I actually like) is that it’s important to have *both* kinds of people: the Linus kind who use the best tool for the job regardless, thus demonstrating the need for the features provided by that tool and increasing dependance on those features, and the kind of people who will scream bloody murder whenever that happens and push strongly to implement Free solutions with equivalent features.

    Another example of the same thing that I deal with in daily life: I use Microsoft Visual Studio .NET. Until I used it I didn’t see what possible value it could provide and was perfectly happy with vim as my IDE. Experiencing the productivity enhancements that are possible with this proprietary software has led me to feel very strongly that we in the Free Software community need to produce a platform with equivalent power. Apparently other people with more motivation than I feel the same, because now we have Mono and SharpDevelop and MonoDevelop and (outside the .NET world) Eclipse, providing close to the same features in Free software. I guarantee that none of these things would exist (at least not *yet*), if *all* members of the Free Software community had insisted on never using the proprietary alternatives, and thus never learned what value they had.

  5. From a pure productivity point of view, the “use the best tool, whether it’s open source or not” position is affirmed with this case.

    1. Kernel development used Bitkeeper for three years.
    2. Use of Bitkeeper doubled productivity.
    3. Thus, Even if the transition period to a new toolset took a whole year and was only as productive as the toolset pre-Bitkeeper, the developers are still up two years worth of development.

  6. Henrik: the fact that Larry tried to put pressure on OSDL to stop a developer exercising his legal rights in his own spare time says nothing about the community’s attitude, and a lot about non-free software licences where people think they can try and pull that sort of thing.

    Are you really saying that this sort of pressure is acceptable? What if I happened to write some software your employer used heavily, and threatened to withdraw their licence unless you stopped working on Mozilla in your free time. Would that be acceptable too?

    Axord: You are making the wrong comparison. You need to compare with the situation where the kernel developers instead opted for a free tool, and improved it (in collaboration with others) until it did what they wanted. Then, at this point, they’d be cruising along instead of grinding to a halt.

  7. >…and improved it (in collaboration with others) until it did what they wanted
    Instead of writing kernel stuff, the thing they know best, they should write a decent CVS replacement first?
    And mozilla dev’s need to write first a decent mingw for windows instead of releasing firefox?

  8. Gerv, my understanding is that if the developers had opted for a free tool at that point, based on the available free tools at the time, development would have ground to a halt *then*, instead of now.

    I’m pretty sure the available free tools are now much closer than they were then, due not only to the passage of time but also in no small part to the effect that I talked about: the kernel’s use of a non-free tool *provided* the itch for many developers to scratch to produce a free BK-equivalent.

  9. “We need to be prepared to use inferior but Free applications and, scratching itches, make them better.”

    Yes, I completely agree. We should be prepared. I’m all for some preparation. It sounds like little more than responsible prudence to consider that non-free tools might have to be replaced and to have some sort of a plan should that become necessary.

    – A

  10. @Gerv: You are forgetting one thing.

    OSDL started out by paying the man to reverse enginer BitKeeper. When BitMover told them it was against the license, they tried to dodge the bullet and avoid responsibility by not paying him.

    OSDL clearly tried to pull a fast one, and tried to have the cake and eat it. So BitMover decided to revoke the license.

    This is not a matter of stopping some persons legal right to reverse enginer, it is about some people breaking a license.

    How would you feel if I discarded your mozilla license and made a fortune selling a modified Mozilla without releasing the “derived work” ? Licenses cuts both ways.

    you developing a tool: If you develop a tool that I like and you say to me, “You get it for free if you don’t contribute to Mozilla, or you can pay $1000 then you can do whatever you want”.

    If I then say “Ok, I won’t contribute to mozilla, give it to me for free”, and then turn around and contribute to Mozilla anyways, I would acually expect you to revoke the free license wince I broke the deal.

    Or would you just ignore it, and let me have the tool?

  11. @Henrik: I thought the developer did the reverse engineering in his spare time, where did you get the information that he was paid to do it? And would it be ok for him to reverse engineer it if he had paid for it? I think even then the license forbids it. But in my opinion reverse engineering should be allowed no matter what the license says. Everything else leads to major problems with interoperability. Just imagine reverse engineering MS word files would be illegal or not allowed by the license. You lay the basis for perpetual monopolies by restricting reverse engineering rights.

  12. @tr: the Kerneltrap article.

    The problem in my eys is again not the actual reverse enginering, but rather the attitude taken by ODSL and certain FOSS zealots as to have the cake and eat it too

    I too would be pissed if I agreed on somehting with another person and they turned around and did exactly the oppisite of what was agreed.

  13. @tr: the Kerneltrap article.

    The problem in my eys is again not the actual reverse enginering, but rather the attitude taken by ODSL and certain FOSS zealots as to have the cake and eat it too

    I too would be pissed if I agreed on somehting with another person and they turned around and did exactly the oppisite of what was agreed.

  14. The kerneltrap article I found (http://kerneltrap.org/node/4966) says explicetly: “[…]OSDL wasn’t directly paying for the reverse engineering effort[…]” while you wrote “OSDL started out by paying the man to reverse enginer BitKeeper.” Doesn’t seem to be the same. It’s not even clear whether this developer ever used the free client and whether he accepted/signed/clicked_through the license.

    This is just a PR stunt by Larry. First you point to your product “see, it can manage huge projects like the linux kernel” and as soon as you’re known well enough you pull the plug on the free part, meanwhile getting known even better. The reverse engineering efforts just have been a cheap excuse. Larry said “[…]Unlike the Marine corp, the open source community is more than willing to ignore their bad apples as ‘not my problem’ (the Marine corp punishes the group for the behavior of the bad apples, pretty soon there are no bad apples).[…]” conveniently ignoring the fact that unlike in the marine corp. there’s no chain of command in the open source community as there is no such thing as a homogenous open source community. Something he knew very well before talking Linus into using BitKeeper.

  15. Gerv: You are making the wrong comparison. You need to compare with the situation where the kernel developers instead opted for a free tool, and improved it (in collaboration with others) until it did what they wanted.

    I can’t make that comparison, because it is rather impossible to know how productive that hypothetical situation would have been. All we know is how productive they were before they switched to Bitkeeper, and after.

    However, Linus’ comments on the matter suggest that the very toolset that Bitkeeer gave them that doubled their productivity was a toolset that they didn’t know they wanted. It is not likely that they would have incrementally developed the same tools for themselves.

  16. @tr, okay fair enough I was wrong about the actual payment, but my argument still stands:

    Kerneltrap:
    “Discussion began about five weeks ago to try and resolve the situation, getting so far as to obtain a verbal agreement that the individual would stop his efforts. After that time, however, it turned out that the reverse engineering effort had continued.”

    So basicly OSDL said “yeah yeah We will make him stop” and then turned a blind eye to the thing.Thats is a nice way to keep an agreement, NOT!

    My point is not wiht the finer legal lines of license and reverse engineering, it is basicly that OSDL broke an agreement.

    From another article on kerneltrap quoting a linus mail,
    “Btw, don’t blame BitMover, even if that’s probably going to be a very common reaction. Larry in particular really did try to make things work out”

  17. “So basicly OSDL said “yeah yeah We will make him stop” and then turned a blind eye to the thing.Thats is a nice way to keep an agreement, NOT!”

    Probably because they had to realize that they *can’t* make him stop as he’s probably only a contractor.