You've taken that quote out of context, as the next sentence dispels your fear of having to help your mother debug her cell phone. But, to answer that particular argument:
It can't help the previous generation in any notable way. That ship has sailed.
But, the next generation can be more capable than the current one, assuming we pass on the tools they need and a culture of learning and sharing discoveries. So, don't bother teaching your mother to code, unless she actually wants to learn. Teach your kids and give them the tools they need (which includes a huge variety of source to learn from).
> You've taken that quote out of context, as the next sentence dispels your fear of having to help your mother debug her cell phone.
If the next sentence dispels that fear, then the quoted sentence is wrong, and should have been left out altogether. And so it is.
This is perhaps the biggest fail of the Free Software movement: co-opting a word, phrase or sentence to fill people with idealistic notions that do not represent what GNU and the FSF are really about. This begins with "Free" which translates into rules and restrictions. If you want truly free, there's public domain or BSD-style licenses. GNU/FSF have goals other than true freedom, and they believe strongly in those goals. Many agree with them. I think everyone would be better served saying what they really stand for, starting with changing the name of the FSF.
Who is to say your idea of how an abstract concept like "freedom" should apply to software is more correct than Stallman's?
> I think everyone would be better served saying what they really stand for, starting with changing the name of the FSF.
Okay, I'm stumped. If not the spreading of free software, what exactly is the FSF's agenda? Because without any specifics your comment is just more FUD.
> Who is to say your idea of how an abstract concept like "freedom" should apply to software is more correct than Stallman's?
I like the dictionary definition of freedom. Stallman has a set of concerns and ideas about how they can be answered, and has set up conditions and restrictions to try to propagate them. There's absolutely nothing wrong with that, but freedom isn't a very accurate way to describe it.
> If not the spreading of free software, what exactly is the FSF's agenda? Because without any specifics your comment is just more FUD.
I don't think my statement are FUD, as I'm trying to correct common misconceptions. If you want what the GPL offers (and many do) then it's only right that you choose it. However, conflating those ideals with freedom is inaccurate and misleading. If actual freedom is what you're after, a new BSD license is much closer to that. Only public domain is more free, but PD has some international interpretation issues.
As for the FSF's agenda, I don't pretend that it's an evil, secret conspiracy. It's not. They spell it out well enough on their site for all to see, once you filter out the fake freedom bits. Their core ideals are noble enough, though I disagree with some of their implementation.
Yes, but not this time. If that sentence were dropped, the remaining text would be more clear and accurate. That sentence is not true.
Why should a user be a developer in an ideal world? Why should one be required to be a developer to utilize software? It's not even a world that anyone really wants to move toward. The whole idea is very developer-centric, and doesn't represent an enlightened user perspective.
The point of my comment was that I believe everyone should have the freedom to be a developer. Not that they must be a developer. No one, especially me, has suggested that anyone must do anything.
We're talking about freedom here; and I'd like it if users had the same freedoms I've enjoyed over the past couple of decades. That includes having source available for a large percentage of the software I used, so I that I could learn from it and modify it. No one forced me to become a developer in order to use Firefox, but I've always had the freedom to look at and modify the Firefox code (and thus I could, at any moment and without warning or asking permission, transition from being a Firefox user to being a Firefox developer). I think "developer" is a pretty fluid concept, in an ideal world.
Anyway, as I've mentioned elsewhere, it is the difference between "may" and "must". You believe I am saying "must", when my intention is "may".
Ah, there's "freedom" again, considered only from one perspective. What about the freedom of someone to make their own work available as closed source? What about when it's a derived work that adds novel new functionality? The FSF is against the freedom to do this, because it promotes other freedoms they like better. What if my important set of freedoms isn't a perfect fit with theirs? What if some random users' important set isn't a perfect match with either mine or the FSF's? If freedom is really what you're after, picking some things at the expense of others can get tricky very fast. If you really want freedom, perhaps you can give away all the rights, so that the recipient can decide what they want to do? After all, you still have the code and you can keep giving it away. This is the new BSD license, or MIT license, or ISC license. According to any non-skewed definition of "freedom" they are more free. Objectively.
But maybe you want kind of free, free in some narrow ways that preserve things important to you by putting restrictions on those who get your code so that they also have to preserve the same things you like. If so then that's fine! I totally support your right as the author to choose an appropriate license. But that's not about freedom. It's about propagating your view of how things should be. There's nothing intrinsically wrong with that, but it's not about freedom.
This argument doesn't work. Promoting "freedom," with respect to software or anything else, is always about promoting some specific freedoms at the expense of others. Copyleft licenses make a different set of tradeoffs than BSD-style licenses, it's true. But that doesn't mean that BSD-style licenses are "objectively" more free. They simply promote certain freedoms of programmers who are one step downstream from the source, at the expense of the freedoms of users who are further downstream. The GPL protects a particular set of freedoms for everyone downstream, at the expense of certain freedoms for those once-removed programmers.
The mere fact of an inherent trade-off in freedoms doesn't mean that the actions of the FSF, or programmers who use the GPL, are "about propagating your view of how things should be" and not "about freedom." That's just as ridiculous as saying that, in authoring the US Bill of Rights (say), the authors were not making decisions "about freedom" because they chose to promote certain freedoms of private citizens at the expense of certain freedoms of agents of the state.
It's a difficult social task to figure out which freedoms are the best to promote, and which can be traded off. But making the hard choices in these trade-offs isn't just a matter of promoting freedoms that one "likes better." Some freedoms are more important than others, insofar as they better promote our various social values and purposes. Whether or not you agree with the FSF's vision of what those values and purposes are and which freedoms best achieve them, it doesn't make any sense to write them off as merely working for some other agenda.
I'm afraid the argument does work. The GPL adds many more restrictions to the recipient of code than does BSD. It's really that simple. The only restriction BSD places on the recipient is to retain the copyright and license notice.
But I don't think I'm going to get this point across. Not while "freedom" is taken to mean something other than the dictionary definition.
I don't think anyone disputes that the GPL places more restrictions on a recipient of the code than a BSD license does. And you're right that, in one (extremely narrow) sense, this grants recipients of BSD-licensed code more "freedom" than recipients of GPL-licensed code.
The free software movement is about granting users freedom in this narrow sense, but it is also about building a society in which software freedom is valued and protected in a much broader sense. Software freedom is a social, moral and cultural goal in the same way that freedom of the press, freedom of association, or freedom from malicious prosecution are. These are "freedoms" in a broader sense than the dictionary definition, perhaps, but that doesn't mean that "freedom" is the wrong word to use.
Indeed, the broad sense of "freedom" is the one that is of primary importance, because without the social institutions that implement the broad sense of "freedom," the narrow sense of individual freedom in a particular setting becomes irrelevant or, worse, non-existent. Unless we have freedom of the press in the broad sense, for example, the fact that any particular publisher is free to say what it wants remains hollow. (One could hardly say, for example, that a country which has a single publisher that's free to publish as it pleases -- the state-run media outlet -- has a "free press.") A whole series of institutions are required to have a free press: a legal system that protects free printed speech, a system of publishers that actually produce that printed speech, an economic system that supports those publishers, and so on. In the same way, a whole series of institutions are required for software freedom: a system that protects certain freedoms of use for all users, as well as a system for developing free software, and for supporting that development in one way or another. It is these institutions that the GPL helps create; and in their absence, the possibility of BSD-licensed code, whether or not it would be "more free" in a particular case, is irrelevant to the social goal of software freedom for everyone.
Unfortunately, it is precisely the broad sense of "freedom" as a network of social institutions that define, protect and promote individual freedoms (in the narrow sense) that introduces the trade-offs and hard choices, the balancing act between certain particular freedoms of certain individuals and other freedoms of other individuals. But again, this hardly means that freedoms in the broad sense are not properly so called. And unless we make those hard choices, the narrow, individual freedoms that arise from them will not exist in a meaningful way.
No one is saying you must do anything. No one is demanding you to release your software under an open or free software license.
I'm simply saying I would like for a culture of learning and sharing to remain strong and vibrant going forward. You're making this into an ideological flame war, without reason. I haven't demanded anything of you or the software you create. I have suggested that a vibrant and thriving open source or free software community is a good thing.
As I mentioned in my first comment, I'm not speaking specifically of the GPL. I happen to like the license, but if you don't, that's fine. I have, nowhere in this conversation, suggested that only the GPL allows the kind of freedom I'm speaking of.
The freedom I am speaking of is about building a culture of being able to look at, learn from, modify, and contribute to, the software I (and others) use. And, nowhere have I suggested that only the GPL makes that possible; though I do think RMS and the FSF (and, yes, the GPL) deserve some credit for building the culture we currently enjoy.
When someone calls rape immoral, does he want to say that rape is a matter of personal preferences, or does he want to say that there should be a law against rape, and every violation should be punished?
When Stallman calls "non-free" software immoral, does he want to say that it's a matter of personal preferences, or does he want to say that there should be a law against publishing non-free software, and violations should be punished?
I consider killing pigs and cows for food, when there are good alternative sources of food available that require no cruelty, immoral. But, I do not seek to impose my morality on others by force of law.
He has, to my knowledge, never suggested there should be a law against producing non-free software. I have certainly never made such a suggestion in this thread.
Then, you're misunderstanding the word "immoral". To quote Steven Pinker from "The blank slate" (p.269):
"People feel that that moral rules are universal. Injunctions against murder and rape, for example, are not matters of taste or fashion but have a trancendent and universal warrent. People feel that other who commit immoral acts ought to be punished: not only is it right to inflict harm on people who have commmited a immoral infraction, it is wrong not to, that is, to "let them get away with it,"...
You have never suggested a law, but that's what the Free Software movement is about: In Stallman's mind -- and to those who understand him - , publishing non-free software is not just a matter of taste or fashion -- it's immoral and wrong; just like murder, rape, and stealing.
That's ridiculous. You can't just change the meaning of words to suit your opinion!
From the dictionary (I would specifically point you to #3, in case you're feeling too lazy to read all of them):
mor·al
[mawr-uhl, mor-]
–adjective
1.
of, pertaining to, or concerned with the principles or rules of right conduct or the distinction between right and wrong; ethical: moral attitudes.
2.
expressing or conveying truths or counsel as to right conduct, as a speaker or a literary work; moralizing: a moral novel.
3.
founded on the fundamental principles of right conduct rather than on legalities, enactment, or custom: moral obligations.
4.
capable of conforming to the rules of right conduct: a moral being.
5.
conforming to the rules of right conduct ( opposed to immoral): a moral man.
6.
virtuous in sexual matters; chaste.
7.
of, pertaining to, or acting on the mind, feelings, will, or character: moral support.
8.
resting upon convincing grounds of probability; virtual: a moral certainty.
–noun
9.
the moral teaching or practical lesson contained in a fable, tale, experience, etc.
10.
the embodiment or type of something.
11.
morals, principles or habits with respect to right or wrong conduct.
You've clearly got an ax to grind here, but it's not with anything I've said in this conversation. You've thunk up some people out there trying to force you to work in software slave labor camps producing free software all the live long day. I have no idea where you got these ideas from, but it's not from anything I've said, and it's not from the FSF website or the GPL license and relevant documentation.
I didn't change its meaning; I just pointed out what people feel. Yes, that stuff is not the FSF site, just like tax raises are not mentioned during election.
But Stallman is clear enought during interviews (emphasis by me):
* Interviewer "If there was a button that you could push and force all companies to free their software, would you press it?" Stallman: […] But yes, I think all published software should be free software." - http://www.gnu.org/events/rms-nyu-2001-transcript.txt
* Interviewer: "Would you accept a federal law in the United States to enforce the distribution of source code with every type of software?" Stallman: "I am not calling for such a law as of now, but I think that would be a valid consumer protection measure[…]" - http://www.linuxdevcenter.com/pub/a/linux/2004/12/22/rms_int...
I really don't want this to be a flame war. I want a culture or sharing and learning, too. I think that culture and community are by far the most important. Since we've at a point where we largely agree, I'll take it as a good point to stop.
>"I believe everyone should have the freedom to be a developer."
People have that freedom now.
Having the sort access to the source code of a large percentage of the software one uses is not a necessary condition for becoming a software developer nor for learning programming. I suspect that most people first learned programming starting with trivial problems or by typing in examples.
Oh come now. The bill of rights guarantees freedom by putting forward a list of restrictions on what other people can do to you. By this simplistic definition of "free" the only "free" society is one where one person is free to enslave everyone (and probably does, but hey: he's living the free dream, right?).
Don't misunderstand me, copyleft is a good approach in certain contexts. On the other hand, MSDN is far more informative than source code comments, a half-hearted Wiki and a snide support forum for the non-professional programmer which populates your ideal world.
"On the other hand, MSDN is far more informative than source code comments, a half-hearted Wiki and a snide support forum for the non-professional programmer which populates your ideal world."
This is directly at odds with my own experience. Whenever I've had to work on Microsoft platforms, I've been constantly bumping into walls where I simply couldn't get the information I needed to solve my problems. MSDN, or no, I've generally been much more satisfied with the process of developing free software and for free software platforms.
Do you find it difficult to find quality documentation for Python, or Perl, or Ruby? How about GCC or LLVM? I haven't. I've found them to be extremely well-documented. And, when in doubt, I can go to the source (or someone else can go to the source to help me). That's not a privilege one has with non-Open Source software.
But, as I mentioned in another comment, the biggest difference in our perspective may be that you think I mean "all users must be developers", when in fact, my intention is, "all users may be developers".
We are talking about freedom here after all, and not forcing anyone to do anything. I simply want a culture in which anyone who desires to learn how their tools work can do so.
I assume that unlike the inhabitants of your ideal world and myself, you are a professional programmer. Why would I run LLVM or GCC instead of Visual Studio Express Edition or program in C rather than utilize a .NET language given that neither really supports Windows in the first place?
For me, free OS's aren't an option. They don't offer the tools I use to practice my profession. To the degree I program, I have access to really good free programming tools on the Microsoft stack and better integration with my existing tools. And to the degree which I desire to learn those programming tools, being partial to physical books I enjoy the benefits of Microsoft press which simply don't exist in the copyleft world.
Again, that's not to say that copyleft doesn't have benefits, but even the best tools are full of dependencies such as the requirement to install Perl to install the Eclipse editor...again something I don't want to have to explain to my father.
The volume of books on open source tools is more a function of the number of such tools. For any given tool or language, there may be very few books in print.
What does the volume of books have to do with anything? You seemed to indicate that you didn't think books were available for open source tools, but they do exist. What exactly are you looking for that isn't available?
One of "the benefits of Microsoft Press" and MSDN is the scale at which the documentation ecosystem operates. It's not a matter of finding a book, but rather of finding the right book.
I'm just trying to think of an open source tool where a comprehensive book (online or off) or some sort of documentation isn't available. Can you give an example of what kind of book you were looking for?
A part of programmers's job is to chose most appropriate tools to get the job done. It equally applies to hobbyists and professional programmers. However, licensing terms does not cause quality of tools and their documentation, it could only correlate to some extent.
The barrier you're talking about is research/learning cost. When you - for example - already have some knowledge of MS stack, unknown lands of GNU or Apple would even feel alien, so cost of using it would be higher. The opposite would be equally true. Just imagine an iPhone developer being offered to use MS stack, instead of Apple's one he's already used to.
If you simply enjoy having a large organization fix a lot of your design choices ahead of time, that's perfectly fine. You've got a lot of company. But don't pretend that everyone else lives in an ideal world because they are willing to take on more of the developer and design responsibilities than you are comfortable with.
I think that in the future, I wouldn't expect everyone's kids to be know enough to provide patches for software they use. Rather, there has to be a responsive community of developers around the product, with a good TOOL (like a bug tracker) which the kids could use to report a bug and anther TOOL to capture the bug in the app and send the extra info.
While everyone would have the freedom to contribute patches, most people aren't going to be educated along this line, or know the product very well. It is the tools that we must improve, although the principles of software freedom enforced in the GPL help protect people.
That's much better. May be a developer. May engage the services of a developer. May benefit from unknown developers somewhere halfway across the world.
It can't help the previous generation in any notable way. That ship has sailed.
But, the next generation can be more capable than the current one, assuming we pass on the tools they need and a culture of learning and sharing discoveries. So, don't bother teaching your mother to code, unless she actually wants to learn. Teach your kids and give them the tools they need (which includes a huge variety of source to learn from).