Post a Comment
There's a very important distinction hinted at in this article that I think needs to be made...
I'll agree that collaboration, especially among people doing it out of love for the project instead of out of love for the paycheck, will result in better product.
But I disagree that that means any collaborative project must, by definition, be open source.
Edited 2007-03-21 17:19
Oh, I agree with that too. I mean, the horror stories we heard about from the development of Vista, where the various departments weren't talking to each other and had no access to different parts of the code (code that they needed to look at to do their job)... I mean, it's all Microsoft; surely the individual departments aren't protected from the others by NDAs...
Microsoft has apparently tried to change that, since. We'll have to see how that works out for them.
I mean, the horror stories we heard about from the development of Vista, where the various departments weren't talking to each other and had no access to different parts of the code (code that they needed to look at to do their job)... I mean, it's all Microsoft; surely the individual departments aren't protected from the others by NDAs...
Do you have a source for this?
I'm not accusing you of lying; it's just that this goes against the environment I know of. Microsoft's development environment has been able to make them competitive against larger, better-funded companies because their organization was coder-friendly. (I could go into that, but that'd almost be an article in and of itself.) Any change in this environment would mean that Microsoft is losing their biggest advantage, and that would definately be newsworthy...
http://moishelettvin.blogspot.com/2006/11/windows-shutdown-crapfest...
It was posted here a few months ago.
I agree with Torvald's comment, "Open Source....it's just a superior way of working together and generating code."
As a developer, I feel the sense of community when working with other developers and having a common goals and ideals.
The idea that the FSF has, that proprietary software is inherently evil is just wrong. I believe the reason for that is because of the abuse of patents, the DMCA and abuse of the legal system. Apple, Inc. is a perfect example, and so is the SCO Group.
The idea that everything should be open is ludicrous! The reason being, open source should be accommodating just as some closed source vendors. Linus has the right idea, co-existence is better than nothing.
Edited 2007-03-21 17:22
As a developer, I feel the sense of community when working with other developers and having a common goals and ideals
I have the same feeling at work and we are not doing free software at all ... We are all working together with the same goals.
I don't see anything superior for working on open source software, it's just the same.
Apple, Inc. is a perfect example
Ok, give me an example. I see a better example IBM, but wait, I can't say that as they are "supporting" linux ...
Edited 2007-03-21 18:02
Actually, as a developer, open source is a lot better for your career if you're above average. Most professions have something called a portfolio that allows you to demonstrate your skill level.
In the scientific and literary world, you have published papers/articles in your portfolio. In the engineering and pharma world, you have software patents in your portfolio. In the artistic world, you have paintings or sketches or graphics art in your portfolio. In advertising, you have your product launches. Public speakers have a list of speaking engagements. Etc.
But when it comes to proprietary software, you have nothing other than "trust me" and "trust that my references actually work at the places I've told you". Sure you can put screen shots and product guides, but nothing really to denote that you actually contributed to it in any real way or that the screen shot isn't anything more than a smoke and mirrors prototype or photoshop job. When "trust me" is the criteria, it's harder to separate yourself from the masses (many of which might be better BS-artists than you).
In the open source development world, developers have a portfolio out in the open. Managers don't need to trust you. They (or their key developers) can look directly at your contributions and actually try out what you've created.
So if you're good, you stand out from the crowd without resorting to BS.
Edited 2007-03-21 18:20
Actually, as a developer, open source is a lot better for your career if you're above average. Most professions have something called a portfolio that allows you to demonstrate your skill level.
It certainly can be if you're fortunate to work with common technology that lends itself well to open source code, but many of us write software under tight NDAs or under employment contract, and some of us also work in specialized technical environments that we're not very likely to be able to afford as individual users (and that sometimes doesn't even exist outside of the places that we've already been working).
That makes it very hard to (legally) provide code samples, or to prove that provided code samples actually work. :-)
I'd say take advantage of it if you can, by all means, and work with open/common technologies if possible, but realize that the whole world doesn't consist of POSIX environments or code written in C, C++, Java, or other synctactically similar languages.
"I have the same feeling at work and we are not doing free software at all ... We are all working together with the same goals. "
You stole the words right out of my mouth.
One of the biggest benefits to being a software developer is that for the most part we work with other folks who are just as passionate and driven as we are. In other areas/careers this just isn't the case.
In the end, I like shipping code more than anything else...I don't care if it's open, closed, green, purple, whatever...knowing that someone will use a product I had a hand in is reward enough. Creating a usable, extensible API comes a very close second.
So long as the API is thorough, I could care less if source is available. In fact, if the API is well designed, documented, etc...source doesn't need to be available.
I'm sick of some of the FOSS weenies thinking they are the only ones that can ship quality code because they work in a "collaborative, cooperative environment." Every single code team I've ever been on is that way, and I'd like to think we shipped quality stuff.
Jayson, Remember one key difference between your view on software developement and the view of "FOSS weenies"... I believe Torvolds touched it briefly, without really understanding the relevance.
"It allows us to be selfish."
The "you need to open source everything" mindset is based in selfishness, pure and simple. People have this strange situation where, for whatever reason, they think the world owes them something, whether it is software or anything else. Yes, Torvalds is less guilty of the attitude than Stallman... but he still makes some pretty stupid statements that give away the core idea as being the base of his "GPL2 love."
To use the case of the business owner who had to spend a lot of time and hastle finding a new solution: It's great that you (the business owner) found software that you could use well, but you paid the company to let you use their software, at no time did you pay them to make life easy on you should they go out of business (why should you be entitled to use their software longer than they can? What figures into that assumption? Why do you assume you should keep getting rich off of people who had a far worse time financially than you did in switching programs? o.O... Git)
It's the same thing that makes people yell about BSD licensing or other such nonsense... people are inherently selfish little bastards and the idea that they can't squeeze everything possible out of someone upsets them.
Personally, I find both Stallman and Torvalds to be rather disgusting people, they both have horrible moral philosophies and they are both selfish little prats.
Why doesn't anyone ever ask Bill Joy questions about software patents, the future of technology, etc. Why is it always someone with the "I like GPL because it lets me be selfish, LOL!" attitude?
The idea that the FSF has, that proprietary software is inherently evil is just wrong. I believe the reason for that is because of the abuse of patents, the DMCA and abuse of the legal system. Apple, Inc. is a perfect example, and so is the SCO Group.
You're right, when you end up creating a community solely based on dogma and religious furver, not only do you isolate those who would have otherwise contribute but at the same time, you attract the very people you don't want contributing - those with toxic personalities that can destroy and otherwise harmonious, happy environment with their ideologically driven hatred of what they consider the 'great evil'.
Opensource, quite frankly, should prove itself in tangible ways which benefit the end users and programmers, and demonstrate through practical application that it is a superior model rather than using long winded, dogma drive statements over the perceived evils of another model.
Its like the fall of communism; Reagen and his long winded statements didn't do anything, the US simply continued plodding along because the alternative was inherently flawed, it was only a matter of time before the flaws ultimately bought down the empire - and the same thing will occur in the proprietary world.
What will the outcome? not necessarily a mass movement to the opensource model, but a re-evaluation of the business model itself and what actually constitutes intellectual property and what can be used as a differentiating factor when it comes to product development and selling it in the market place.
...to a point.
I don't believe all software should be free and that might be a change from what I believed a while back - that software should be open.
Simply put, getting proprietary powerhouses to budge on making everything OSS - to make their products open source just because some guy in a beard says closed source is evil - is just too damned unrealistic.
It's been proven that closed source AND open source can work together harmoniously in any environment - an environment where collaboration seems to be the desired result for the sake of increased productivity - and it takes both camps to create that harmony.
I do, however, believe that software patents hinder the desired outcome - patents tend to halt the production of good, competitive, open and closed source software that works just as good, if not better, than the original incarnation.
The software patent is an extremely dangerous practice that can stifle innovation - which has been proven. Imagine if there was a patent on word processing or spreadsheets or presentation managers. We wouldn't have Lotus, Microsoft, WordPerfect, or OpenOffice all vying for similar markets. We'd just have Lotus 1-2-3, WordStar, and Harvard Graphics.
It's not closed or open source we should be debating about - it's patents.
...but it does need to be open.
Closed source *IS* evil and *CAN* be immoral. Proprietary software doesn't have to be. Most companies out there have spent tens of thousands on proprietary software that they build a process around - and then the company goes broke, changes the product focus or discontinues the software.
They could be 100% happy and invested in the software they have, but they will have to go through the outrageously painful and expensive task of moving to another package over time - it's inevitable.
In the open source world, that doesn't happen. Or, they can add features or fix bugs themselves - it may even cost them as much money to do it as they would to switch, but there is not the painful and disruptive process involved in transition.
As the article points out (and some other commenters do as well), the concept of open source is much more than just a concept of "free" software. I and many other business owners have purchased open sourced commercial software and modified it to meet my needs. It's the reason I chose it. I have also been burned as described above and gone through months of major disruption to regain the status quo.
Quite a good article.
Edited 2007-03-21 17:45
Closed source *IS* evil and *CAN* be immoral. Proprietary software doesn't have to be. Most companies out there have spent tens of thousands on proprietary software that they build a process around - and then the company goes broke, changes the product focus or discontinues the software.
They could be 100% happy and invested in the software they have, but they will have to go through the outrageously painful and expensive task of moving to another package over time - it's inevitable.
But why is this inherently evil? How is it different than companies that spend tens of thousands on proprietary hardware, machines, equipment, supplies, or anything else?
If my company uses Machine X to produce Widget Y, and the makers of Machine X go out of business, it's probably going to be painful and expensive to move to a different type of machine. Does this mean that the makers of Machine X are evil?
If my company uses Machine X to produce Widget Y, and the makers of Machine X go out of business, it's probably going to be painful and expensive to move to a different type of machine. Does this mean that the makers of Machine X are evil?
The problem with this statement is you're confusing hardware with software.
Hardware is inherently proprietary since it's a manufacturing process.
Software is not "manufacturing"
I can get better collaboration by allowing other people (outside of my company) to work with my software to improve it - I cannot work with other people (outside of my manufacturing plant) to work with my process of manufacturing easily.
"The problem with this statement is you're confusing hardware with software."
The problem with your statement is that you're not seeing the big picture. You're focusing on the details. Call it manufacturing, authoring, producing, whatever...the end result is the same: A product is made. It doesn't matter how it's made.
"I can get better collaboration by allowing other people (outside of my company) to work with my software to improve it - I cannot work with other people (outside of my manufacturing plant) to work with my process of manufacturing easily."
You can get both if you are willing to pay for it. A non-trivial peice of software is equally as complex as a manufacturing plant, and thus would take a comparable amount of time just to get brought up to speed on (i.e. you can't just dive in and start hacking away). But that's the problem, I think a lot of folks equate "open source" with free when that's not the case. Most professionals aren't going to start readily contributing to some software without getting paid to do so.
There is one area of software where I think paying outside individuals to contribute is worthwhile is security stuff. Other than, "outside" collaboration is more costly/trouble than it's worth in the end.
The problem with your statement is that you're not seeing the big picture. You're focusing on the details. Call it manufacturing, authoring, producing, whatever...the end result is the same: A product is made. It doesn't matter how it's made.
On the contrary, it does. In an effort to get away from the tired analogies, I'll say "consider...books". If books were developed the same way as proprietary software, then not only would you have to learn how to read English to read English books, but you'd also have to learn (for example) Rowlingish to read Harry Potter, or (better example) Quenya, Sindarin or Westron to read Tolkien. It takes time to learn a language and to learn to read it (particularly if for some reason, the written and spoken languages are very different, as they are with English, French and Finnish). If you had to learn Quenya/Sindarin/Westron to read Tolkien, Rowlingish to read Harry Potter, and Dickensian to read Great Expectations, not only would few people read Tolkien/Rowling/Dickens, but also, not much other reading would get done by those who did take the trouble to read them.
In the real world, however, Tolkien for example specifically stated that he kept the amount of Quenya/Sindarin to a minimum, and rendered "Westron" into English, etc., in order to maximize his audience.
You can get both if you are willing to pay for it. A non-trivial peice of software is equally as complex as a manufacturing plant, and thus would take a comparable amount of time just to get brought up to speed on (i.e. you can't just dive in and start hacking away). But that's the problem, I think a lot of folks equate "open source" with free when that's not the case. Most professionals aren't going to start readily contributing to some software without getting paid to do so.
Completely agree. However, if you have in-house programmers, you don't necessarily need outside expertise to modify a product, and if you have a closed-source product which uses proprietary formats (which often seems to be the very motivation for closed-source) then if/when the company goes belly-up, you don't have a means of supporting the product. In such an environment basically the only two possible outcomes are that companies use a variety of different formats, which is inconvenient, or else that a given vendor effectively gains a monopoly, which reduces interoperability problems but also ensures that "the throat" that people would like to choke when things go wrong in effect "gets too thick" for any but the strongest to choke. In that sense open source, relying as it does on open protocols amongst other things, really is the David that goes up against the Goliath that few other combatants have a hope of defeating.
The problem with this statement is you're confusing hardware with software.
Hardware is inherently proprietary since it's a manufacturing process.
Software is not "manufacturing"
I can get better collaboration by allowing other people (outside of my company) to work with my software to improve it - I cannot work with other people (outside of my manufacturing plant) to work with my process of manufacturing easily.
I think you are misunderstanding me. I know that hardware is inherently proprietary; that was part of my point! I am simply asking why software is held to a different standard.
The original assertion was that closed source software is evil. I want to know why closed source software is evil and "closed source" hardware isn't, when the only difference is that software _can_ be open. Is the argument "anything that can be open has to be open, otherwise it's evil"?
> The original assertion was that closed source software is evil. I want to
> know why closed source software is evil and "closed source" hardware
> isn't, when the only difference is that software _can_ be open.
Hardware can be open too. It means access to the blueprints of a machine. Suppose you are a manufacturer, and a supplier of your machines is going out of business. How are you going to repair such a machine then, without access to the blueprints? That's a bit like reverse-engineering software because you don't have access to the source code.
"Hardware is inherently proprietary since it's a manufacturing process."
It is? There are seemingly dozens or hundreds of open hardware standards that comprises PC architecture. RS232, PATA, SATA, USB, analog 15 pin VGA output, DVI, keyboard layout, etc etc etc.. Computer hardware has a long history of open standards that are collectively improved by the industry at large.
These open standards of course extend far beyond PC architecture too.
>"Hardware is inherently proprietary since it's a manufacturing process."
It is? There are seemingly dozens or hundreds of open hardware standards that comprises PC architecture. RS232, PATA, SATA, USB, analog 15 pin VGA output, DVI, keyboard layout, etc etc etc.. Computer hardware has a long history of open standards that are collectively improved by the industry at large.
These open standards of course extend far beyond PC architecture too.<
While i understand what you are saying i think you missunderstood what he was saying.
My understanding of his comment was that the physical hardware (nothing to do with the protocols associated with it) is inharently proprietary because there is a physical production of a product that must be sold and cannot be free because it costed money to make.
Would you spend a $1000 on a computer then give it away? That is essentially what a hardware manufacturer would be doing.
I also have to say Torvalds is right on the money and I am hard pressed to find a subject matter of any relevance to the world that I disagree with him on. If everybody in OSS was as down to earth and well spoken as Linus, Linux would be quite a massive force in the software industry right now.
Edited 2007-03-22 00:05
But why is this inherently evil?
It causes the people that paid for the software horrific amounts of grief if for some reason they can no longer use the software they depend on and can find no other way to replace it except with a forklift upgrade (meaning: full replacement).
This can have business-shattering consequences in some cases.
Does this mean that the makers of Machine X are evil?
Too simple a comparison to be meaningful.
>>But why is this inherently evil?
>It causes the people that paid for the software horrific amounts of grief if for some reason they can no longer use the software they depend on and can find no other way to replace it except with a forklift upgrade (meaning: full replacement).
>This can have business-shattering consequences in some cases.
And? When you're using something from X, you're dependent from X, that's obvious.
If you don't want to be dependent from X, then either
a- you require that the source from X is held somewhere and that you have access to it, in well specified situation.
b- you only buy X if it is compliant to a standard which allows you to replace X by a competing product.
If a and b is not possible then use an open-source alternative or pay for the development of one if needed.
Nothing at all above, justify calling 'X is proprietary' so it is evil. You just have to stay aware of the dependency induced by the usage of a propriety software and act accordingly (or don't act if either you consider the risk low or the impact of not having X's software low).
In the same idea if you rent something, the rent contract may stop at some points, it doesn't mean that 'renting is evil'.
But until you move to a different type of machine, you can hire a machine shop to look at the parts, and commission a replacement to keep the machine working.
Machines are effectively open source.
Now, let's assume that the machine was uninspectable. I don't know, maybe it's rigged with alarms to alert the company that sold it to you that you were servicing it. Maybe it's just welded shut so it can't be repaired.
I'd consider that immoral, and at the very least, somewhat evil.
"Now, let's assume that the machine was uninspectable. I don't know, maybe it's rigged with alarms to alert the company that sold it to you that you were servicing it. Maybe it's just welded shut so it can't be repaired.
I'd consider that immoral, and at the very least, somewhat evil."
Oh come on, you can't be serious. Many companies (particularly computer companies) do this (make their machine/device tamper resistant or non-user serviceable) so the user can't deliberately or inadvertently break the machine and launch a warranty claim against the manufacturer, thereby costing the manufacturer money because a stupid or malicious user decides that the manufacturer should pay for their mistake or misdeed.
It is good business sense for the manufacturer to want to prevent unauthorised repair or modification of a machine, at least while it is covered by warranty.
This is hardly "immoral" or "evil", and to claim that it is cheapens the meaning of these words. Robbing someone at gunpoint and then killing them even after they have given you their money is evil. Making a fraudulent warranty claim is mildly immoral. Not letting someone in on your software / hardware secrets might not be nice, but it is hardly immoral or evil.
Now, there are some manufacturers who make machines etc that are not servicable at all, and are deliberately designed to fail in a relatively short period of time, so that the user then has to buy another one, rather than fixing their old one. This is arguably immoral, because it encourages wastage and causes environmental damage.
But again, I exhort those of you who think closed source software is "evil", to grow up and put things in perspective. There are far worse things in life than not being able to see someone's source code.
Not the same at all: opening your computer's box, and even moving some of it's components to another computer, might render your warranty void but it's still legal.
It's a condition on the warranty, not a license for the use of the computer.
Doing the same with propietary software, on the other hand, might take you to the courts.
So I think you should fight for a open and interchangeable format.
That is what is happening right now across USA and Europe, a fight to split what is the company property, the software, from what should be viewed as the user property, its data.
It is implicit that the transportation layers must be also open, as in a workgroup environment we are exchanging data all the time, and we can't do it with proprietary protocols.
I have to agree almost 100 % with Linus, we need a way to stimulate the cooperation and that is what GPL2 give us in a very nice way.
And I have nothing against cooperative work with someone that has a slightly different view of the world but, even if you are practical about that, it is impossible to ignore the politics - in a extreme case he for sure doesn't want smart bombs with software running on Linux dropped on his beloved Finland.
I take it you folks are mainly talking about software that is written for general use to solve a set of general tasks (a word processor, operating system, or payroll package, for example).
However, most software developed these days is in-house software, firmware, etc., meaning it's written for a custom-tailored purpose inside a large company or a large government agency, and is usually very tightly intertwined with that specific organization's set of business rules or a specific set of hardware.
Most of that stuff is worthless in other organizations, and some of the stuff I've worked on over the years was dependent on systems software extensions which only existed at the specific company I was working for.
There isn't much point to releasing such software as open source. In some cases, nobody else on the planet is going to have a use for it, and they might not even be able to compile it, much less run it anywhere...
Edited 2007-03-21 21:36
If you never release this software under any license, then it is NOT proprietary software, it is PRIVATE software and RMS is perfectly OK with that. The reason is that, by not releasing it, you don't create the social problem of "help your neighbor VS respect the license".
cat > rant.txt << EOR
Personally, my issue with proprietary software is the same as with software patents, just on a smaller scale. Each time a piece of "intellectual property" is claimed, a small piece of the noosphere (the universe of ideas, roughly speaking) becomes unavailable for the free exchange and combination of ideas that is so deep in human nature. This restriction involves someone partially controls my thoughts. When I see a good idea (a hardware design, a recipe, a piece of code,..) it becomes part of my mind, and I may be inclined to tell about it to other people. Thought is followed by communication, and efficient communication ultimately becomes redistribution. Proprietary licenses force people to always make sure that their thinking and communication process is never "too efficient", lest they may be sued.
When talking about software licenses, the "cooking recipe" metaphor is often used. My stance is that I don't mind if you sell me some delicious food and won't show me the recipe, but I do mind if you make the recipe public and then threaten to sue everyone who follows it, or even comes "too close" to following it.
BTW, I don't blame so much proprietary software firms as bad legislation and myopic citizens who tolerate or even support it.
EOR
To someone that has an interest in the software, whether it is OSS or not doesn't much matter. You are right in that it is easier to find bugs when you can look at the code directly. This also often means the bugs get fixed faster (but not always).
Linus's Law is generally very true.
http://en.wikipedia.org/wiki/Linus%27s_law
Look at how quickly bugs are found in OSS. A good example would be where someone hacked the wordpress.org server and manually added a backdoor. Through code review, the obvious backdoor was quickly found and a new release issued:
http://wordpress.org/development/2007/03/upgrade-212/
So (in general) OSS is a double edged sword in that bugs are found and fixed much faster than closed counterparts. Take a look at this, the numbers are quite impressive http://scan.coverity.com/rungAll.html
Also, anyone who has used IDA Pro for a few months and knows C + ASM can find bugs in windows software fairly easily. It doesn't take much experience. Something as simple as a fuzzer works just as well for finding exploitable bugs in closed or open source software.
LMH, the entity behind the Month of Kernel Bugs and the Month of Apple Bugs happens to prefer using fuzzers to find exploitable holes in software.
That goes without saying that errors in code can be easily overlooked such as the assignment and comparison operators (= vs. ==).
I'm sure others might remember this when the Linux kernel got hacked with two lines of code that would have meant an instant root under a certain condition that was easy to meet.
But it wasn't a human that caught this - it was the source repository software that caught it. The repository then alerted a human.
So let's say this - open source and closed source from trusted companies are pretty much equal. Source integrity is only as good as the programmers or the repository maintaining it - doesn't matter if it's opened OR closed.
For example, the FSF considers proprietary software to be something evil and immoral. Me, I just don't care about proprietary software.
Exactly. Don't mix ideology with technology. I'll take whatever serves my needs now.
Having a philosophy/ideas about how to do things is a different matter - actually encouraged!
Torvalds believes that Open Source methodology is developmentally superior.
Stallman believes that Open Source methodology is morally and ethically superior.
Any more than that and I'd be reiterating what he says in the article.
Of course, since Torvalds' Linux is the most prominent member of the Open Source movement, and attracts a lot of users (and developers) who share Stallman's ideas... well, people seem to be continually surprised when Torvalds appears to be more cool to the issue of Open versus Proprietary than Stallman.
Does he share Stallman's other beliefs, about the right to use a program when you want, where you want, and edit it if you want to? Probably, but probably not in the same way or degree as Stallman.
I like how he equates Open Source vs Proprietary to Science versus Alchemy. Just think what would happen if everyone who wanted to build a computer had to re-discover all the physics leading up to transistors... or worse, if the physics had been patented such that even if you WERE smart enough to figure them out, you wouldn't be allowed to do anything with them.
Standstill.
The GPL3 lacks some of the modularity of the GPL2. It goes beyond issues of source code and into things about the hardware it runs on. I can appreciate the need to do away with DRM, but why can't that be decided by something other than software? It's not like companies are racing to produce DRM with GPL code, and they're going to try whether they use GPL code or not.
What I would personally like to see is just a cleaned-up version of the GPL2 -- why deviate drastically from a license proven in court? Are we ready to migrate the FLOSS world to a license with clauses that hasn't been tested in court?
If we could have GPL2, but added language regarding patents (especially preventing proxy patent shields like the MS-Novell deal), I think that'd be best. I also like the premise in GPL3 of open source web services -- as it stands today, you can have a "closed source" web service built using open GPL code, but since you're not redistributing the code per se, just the service, you don't have to publish your contributions. It would be nice to see this amended in such a way that some web services can stick to the GPL2 way (that is remain closed) but others, through the use of a special "download source" service, can guarantee no one can take their web application and enhance it and keep the changes to themselves.
Edited 2007-03-21 18:48
Does anyone know why RMS believes closed source software is evil? Perhaps even if I don't agree with him, hearing his arguments could raise some valid points all the same. He's actually quite a brilliant guy, and I have a lot of respect for him, but at the same time, I think he's a wee bit insane.
RMS calls closed source software evil because it doesn't give users the "four freedoms", which RMS considers moral rights.
I guess it's a bit like "treat others as you would like to be treated" -- some people call those immoral who fail to follow this rule while some other people think it's ridiculous to ask that everyone should follow such moral ideals.
Edited 2007-03-21 19:06
RMS calls closed source software evil because it doesn't give users the "four freedoms", which RMS considers moral rights.
I guess it's a bit like "treat others as you would like to be treated" -- some people call those immoral who fail to follow this rule while some other people think it's ridiculous to ask that everyone should follow such moral ideals.
The problem is that Stallman isn't saying "treat others as you'd like to be treated," he's saying "treat me the way I want to be treated." There's nothing overly moral about that.
The "four freedoms" of Roosevelt are morally justifiable things to demand everyone have... the "four freedoms" of Stallman are inane demands from a selfish, demented mind. Here, I'll show you:
1) The freedom to run the program for any purpose.
That sounds fine, doesn't it? Unfortunately, it's not a "nice" moral rule. "Free to use the program in any way that causes no harm or hindrance" maybe, but "for any purpose" is not justifiable. If I use a port scanner for my own network to secure it, or as a learning tool, fine, great, wonderful. If I use it as a tool for breaking into another server and destroying a persons work... well, that's included in Stallman's "freedoms," and that's rather contrary to your "as you'd like to be treated" ideal, isn't it? What about the "moral rights" of the person who's life I just damaged?
2) The freedom to study how the program works, and adapt it to your needs.
I'm sorry, but what part of "being allowed to use the hard work of other people just because you don't want to spend the time to duplicate it" counts as an inalienable human right? Yes, it's nice to be able to continue to use the software you purchase, just as it's nice to be able to continue to use music you purchase in whatever way you see fit, but there are many cases where this "freedom" becomes a burden when used for selfish reasons. Here's just one example: Let's assume you can study the software emulation layer in the PS3, and modify it so that the copy protection routines are no longer present... well, that may fit your needs, but it also aids in game piracy, and the company that is already losing money on console production then goes the way of Sega with the dreamcast. Great freedom there, isn't it? Just because you want something doesn't give you a right to do it. We don't add this "free to use it any way you see fit and change it however you want" clause to anything else?
3) The freedom to redistribute copies so you can help your neighbor.
Erm, right... and what prevents me from simply informing my "neighbor" as to where it was I located the software to begin with? This sort of counts as "give it away for free no matter what".. i.e. "The freedom to use the software as if nobody paid to have it developed."
4) The freedom to improve the program, and release your improvements to the public, so that the whole community benefits.
Wait wait wait... the freedom to... son of a... you mean I'm free to do that? That sounds good, doesn't it? Too bad in this case it's more like saying "You are free to not kill people!" in that by "free to" they really mean "have to." Mmm, mmm, that's some good market speak.
Now, lets look at how Stallman and his ideals (GPL) actually stack up to these supposed freedoms.
1) You are free to run the program for whatever you want, provided of course you aren't, say, using the GCC package to compile closed source, proprietary code... because then it's "evil".
2) Yes, you are free to adapt the software to your needs, whatever they may be, as long as your needs don't include linking with non-GPL libraries, or trying to fit your release onto one single CD when you don't have enough extra room for the source code, or making a living off of the software you worked to make (Redhat doesn't sell linux, they sell "support" for it... just as an example), or, you know, enclosing it with something with an NDA preventing GPLing, or really just about any other use that isn't strictly laid out in the GPL... Oh, silly me, I guess I read "free to use as you need" as "free to use as you need" and not "free to use as I tell you is acceptable!"... Golly, how stupid of me to expect Stallman and the GPL to stand up to their own "ideals."
3) You are free to redistribute copies to all your neighbors... provided you also give them all the source code, tell them where you got it, point out who owns the copyright, and make sure they don't do anything evil like linking with an MPL browser.
4) You are... free to... distribute changes... help community... Being required to do something and being free to do something are two different things. I am free to go to McDonalds for lunch, if I choose to... but that's quite different from having to go to McDonalds every single day and being sued if I choose not to?
I'd say the main purpose of the "four freedoms" is to make it clear what one means when talking about "free software". You may or may not agree on whether people have the right to demand these freedoms, but in any case they are useful to decide whether a particular license is "free" or "non-free" in the FSF sense.
You seem to be a bit confused about the terms and conditions of the GPL. Let's address your points:
"1) The freedom to run the program for any purpose.
That sounds fine, doesn't it? Unfortunately, it's not a "nice" moral rule. "Free to use the program in any way that causes no harm or hindrance" maybe, but "for any purpose" is not justifiable."
Of course, that should be read as "no additional restrictions" beyond what the law mandates.
"2) The freedom to study how the program works, and adapt it to your needs. [..]
Here's just one example: Let's assume you can study the software emulation layer in the PS3, and modify it so that the copy protection routines are no longer present... well, that may fit your needs, but it also aids in game piracy, and the company that is already losing money on console production then goes the way of Sega with the dreamcast. "
But here you seem to be begging the question. You are criticizing one of the four freedoms because it may interfere with a business model which is clearly based on restricting the four freedoms. Anyway, you may choose a better example (for instance, turn a benign program into a trojan horse and use it to attack a computer) and the answer would be, again, "no ADDITIONAL restrictions".
"4) The freedom to improve the program, and release your improvements to the public, so that the whole community benefits. [..]
in that by "free to" they really mean "have to." Mmm, mmm, that's some good market speak. "
You are free to keep the changes to yourself. If you think the GPL demands that you publish all your changes, you are wrong on that one.
"1) You are free to run the program for whatever you want, provided of course you aren't, say, using the GCC package to compile closed source, proprietary code... because then it's "evil". "
That's clearly incorrect. You can use GCC to compile your programs without any effect on the licensing terms of those programs. Just ask, say, the FreeBSD people.
The rest of your post are complaints about not being free to impose your own licensing restrictions on the work of others who released their software under the GPL. Well, you can always spend the time to duplicate them. It seems fair to me.
AFAIK, the reasoning is that since code is an infinite resource that can be given away for free, there is no reason not to have it open. Choosing to do so only results in people not being able to modify it, etc. and is therefore selfish and done to harm the consumer while helping the developer (aka evil).
Could be wrong though. I really agree with Torvalds on this subject.
Here are the four freedoms he thinks it is evil to violate. My personal view is that these freedoms are nice, but violations aren't necessarily evil. Stallman actually reminds me a lot of Bush, with the whole "You're either with me or evil" approach.
* Freedom 0: The freedom to run the program for any purpose.
* Freedom 1: The freedom to study and modify the program.
* Freedom 2: The freedom to copy the program so you can help your neighbor.
* Freedom 3: The freedom to improve the program, and release your improvements to the public, so that the whole community benefits.
Edited 2007-03-21 19:28






