What a crock! Freedom (in any sense) is the absence of restriction. If you truly care about freedom (in any sense) then you do your utmost to eliminate restrictions. If you say you need restrictions in your licensing, then you don't understand what freedom is.
An libertarian says no restrictions are necessary for freedom. A conservative says that the criminalization of narcotics is necessary for freedom. A liberal says that wage and price controls are necessary for freedom. A totalitarian says that a strict crackdown on dissent is necessary for freedom. And they are all SINCERE about their beliefs. Which one is right?
Because no one wants to reinvent the wheel. It's an incredible waste of time. The productivity could be better used elsewhere. A commercial company would have the choice of releasing every bit of their code that linked to libgtcpgip, reimplementing GTCP/GIP, or writing their own network stack from scratch. Remember, this is twenty and thirty years ago. GTCP/GIP would not have been a standard yet. There was no impetus to be compatible. The only thing an existing implementation gives you is a specification. It doesn't help you code at all.
By releasing the TCP/IP stack under the Berkeley license, the cost of compatibility was zero.
And we can network Linux, BSD, Mac and Windows machines together under a single protocol. If the original TCP/IP stack were under the GPL there would be no internet. Instead, Unix users would be using GTCP/GIP, Windows users would be using MSN, etc. The information superhighway would be nothing more than mile after mile of "Do Not Enter" signs.
You didn't misread anything. You just flunked Basic Law 101.
The GNU Public License is a *license*. It is an agreement between the licensor (author) and the licensee (user). The terms and conditions of the GPL apply to the licensee and not the licensor. Like most licenses, there are zero restrictions placed upon the licensor. The copyright holder can do what he wants.
"For any purpose whatsoever" also includes making derivative works, linking to the work via name referencing, etc. There are many uses that the GPL forbids without certain conditions first being met by the end user.
If it were released under another license we could be denied the right to any future improvements which were based on the original code.
This sounds well and good, but what about those bits in the derivative work which were not funded at taxpayer's expense? The taxpayers did not fund those specific bits. Perhaps a weaker copyleft might fill the bill: "do whatever you want but distribute the original along with the derivation".
In any event, the reason that taxpayer funded works should be free is so that any taxpayer can use them. Corporations can come along and create derivative works from them, but the originals are still there and available for all. It doesn't go away. Keeping a minimal copyright on it, like the BSD or MIT licenses, is all the protection it needs to guarantee free access for everyone.
By definition, you are correct. But by actual practice, there is no difference between altruism and self interest. Dictionary-altruism does not exist. People feed the hungry and cloth the poor because it benefits themselves. People license their software under the GPL, BSDL or MPL because it benefits themselves. If there was no personal benefit then they would not do so.
What value do you realize, exactly, from releasing your own software under the BSDL?
The benefits that I realize are different from what other BSDL authors realize, so take this with a grain of salt...
I get an ego boost every time someone writes saying that they use my software. I get an ego boost whenever someone uses my code in their own software. I get an ego boost when I see it become an official part of a distribution.
I become a better coder every time someone posts a bug. I become a better designer every time someone says my stuff sucks (if they offer a reason why).
I get monetary rewards as well. My code is a living resume, and I get job offers from it from time to time. My current position is a direct result of my releasing code publically.
And I get the moral well-being in knowing that everyone can use my code freely and without restriction. It pleases me that no one need worry about using my code, including using my code in their own code.
And what else are you not clear about?
I'm not clear on a lot of things, but they're all off topic...
If software should not be owned (as says the author of the GPL) then why should I assert ownership over sofware that includes bits that I haven't even created?
A M$Office that only runs on M$Linux does not *damage* Redhat or Debian. None of their code base is affected at all. Their code is still protected. Microsoft hasn't changed it at all.
Like I said, it is not necessary to use the GPL to protect code. However, there may be OTHER reasons to use it. Preventing damage to Redhat's corporate mindshare/marketshare in Linux is one. I'm sure you can think of others. But the protection of the code is already assured.
You mean I dont' have the moral right to give away my property? My God, into what irrational pit has objectivism descended! Altruism *IS* self interest! I get a hell of a lot of benefit by releasing my software under the BSDL.
But at least I am not so crass as to publicly proclaim that software should not be owned, while at the same time demanding a controlling interest in all derivative works.
If you post source code on a website, it will remain their as long as the website does. It keeps on giving. If other people also post your code, it keeps on giving faster. Regardless of license. It is most definitely NOT a one-time gift.
One of the reasons that I like to use these packages is that the code is freely available to all, and that will always be true. That gives me some extra assurance that any investment of time I make in these programs will always be open, to me and everyone else.
But the BSD license has these very same assurances! Your software will always be freely available to all people. There's nothing a company can possible do to your code to change this. Your code will still be there. All of your users' copies of your code will still be there. If you have a thriving community of developers, they will still be there. Derivation does not make the orignal suddenly disappear. You cannot steal what is free. The GPL is sufficient if you want to prevent companies from using your code without reciprocal compensation, but it is not necessary to assure your code's freedom.
Yup! There are perfectly valid reasons to use the GPL, but "protecting the software" is not one of them. The software is already protected. No company can steal it. No company can damage it. They can do all sorts of nasty things to derivations of the software, but the original software is inviolate. Nothing Microsoft could possibly do with a "M$Linux" would affect any Redhat or Debian user in the slightest. Their copies are still on their hard drives untouched.
If you want to make your software freely available, distributable and modifiable by all, the the BSD license is more than sufficient.
Reciprocal altruism is just another name for enlightened self interest. It's a fancy name for "I'll scratch your back if you scratch mine".
They used all three of these systems "out-of-the-box". So look at what these systems are pre-tuned out of the box for: Redhat Linux for speed and FreeBSD for stability (and Windows Y2K for media benchmarking). Think about it.
At first I was going to rebut this post, since to my mind, 60 libraries for the type of application that GnuCash is sound absurd. I found that WindowMaker uses only 16 libraries, and Konqueror only 28.
But then I started thinking about it. Eight of the libraries were X11 libraries. And one other library was Qt, which is the equivalent to seven or eight libraries in the GTK world.
Obviously there are two different library philosophies here. One philosophy is to bundle all of the funtionality into a single massive library like Qt. The other philosophy, used by X11, GTK and others, is to split the funtionality amongst smaller libraries. For example, the KDE world does not have the equivalent of libxml, since that functionality is already rolled up into Qt.
Neither of these philosophies is wrong. A few large libraries or many small libraries. Both have their advantages and disadvantages. Personally I like being a Qt user. I don't have to worry about any dependencies or with one module getting out of sync with another. But I'm also a Qt developer, and I often wish I could use just one small module from Qt without having having to use all of it.
As long as GnuCash can keep its dependencies under control, then I don't have a problem with it using 60 libraries.
Absolutely not! Girl Scouts knocking on doors are specifically looking for people at home. Ditto for Jehovah's Witnesses, Mormons and trick-or-treaters. Casing is when you knock on doors (or perform other activities) to find out who is NOT at home. Big difference. Huge difference.
Go around your neighborhood. Knock on all the doors. When someone answers, politely say "Oh! I'm sorry, I didn't expect you to be home. I'll come back later." Within minutes someone's going to call the cops on you.
First of all, you're hampered and crippled by being a VB programmer. From you question, it seems as if you're seeking the Linux/Unix equivalent of VB. Forget it.
Your first step on the road to recovery is to learn a real programming language. And learn how to program in that language without the benefit of drag-n-drop and plug-n-play.
My recommendation is C++. Other people will call me a heretic and say it's evil. No matter. You get to learn C along the path to learning C++, so you can always stop along the way if you feel yourself slowly being twisted into an agent of evil. Other great languages are Python and Perl. Java is a cool language as well.
But no matter what you choose, learn to program first. Nothing else matters.
Oh, I understand the issues perfectly. Understanding exactly what the GPL is and how it works does not imply complete approval of it.
The GPL is designed to create "a community to cooperate on the commons of software" (http://www.gnu.org/philosophy/apsl.html). Ignoring the real history of village commons (owned solely by a manorial noble and rented out to villagers in exchange for serfdom), there is some valuable insights to be gained from this poor analogy.
GPL software is a commons in a village. Only the serfs of the village have access to the commons. All else can bugger off. Before you can utilize the commons for your own production, you must first swear fealty to the lord.
But software released under unrestricted licenses, like the BSD, MIT or Apache, is like a market square in a town. Anybody can make use of it, regardless of their citizenship. And no matter what a travellers sells in the square, it will still be available to everyone else.
I license my own code under the BSD license. Over the past year, three other independent projects have decided to utilize portions of my code in their own software. Two of these are GPLd projects, and one is a BSDd project. If I had used the GPL instead, then one third of these projects would have had to reinvent the wheel.
Take all the approved Open Source Licenses and all the approved Free Software Licenses, and all of those not yet approved but which might be. Now arrange them from the simplest to the most complex. The GPL ranks up there next to those corporate legalese licenses. Now rank them according to their actual length. Ditto. Rank them according to the number of restrictions. Ditto.
Frankly, the GPL is one of the most complex, lengthy and restrictive license you could devise and still manage to squeak into the "free" category. As a user, I am glad that GPL programs are free. As a developer, I wouldn't touch it with a ten foot lawyer.
With the BSD-license you don't have to distributed the source, so companies can take the source easier.
Absolutely wonderful! That's the whole beauty of unrestricted licenses like the BSD and MIT.
You see, information has a special nature. It wants to be free. It can be infinitely copied. It costs nothing to reproduce. IT CANNOT BE STOLEN!
Let the companies take the source! Nothing they can do it can possibly harm it. Fold, spindle, mutilate and relicense your copy. Let them charge $1200 a copy, and have 20 page EULAs. My copy is right here! Unchanged! Still Free! Ha ha!
It ain't just Microsoft at computer shows that pulls these sorts of tricks...
Last year at Manafest, one of the premier west coast RPG conventions, I got booted by the RPGA. I was second gamemaster to sign up to run a game, four months in advance. Five minutes before my game was scheduled, my game was cancelled at the request of an RPGA bigwig. I'm still not sure why.
It was my fault really. You see, I wasn't running an AD&D game (the Windows of the RPG world). And I didn't realize that the RPGA had paid for the convention. The Manafest crew profusely apologized to me, saying that they had no choice if they wanted to RPGA there again next year. But it still leaves a bad taste in my mouth, and I'll never go to another con sponsored by the RPGA.
Moral of the story: whoever pays for the show gets to call the shots...
What a crock! Freedom (in any sense) is the absence of restriction. If you truly care about freedom (in any sense) then you do your utmost to eliminate restrictions. If you say you need restrictions in your licensing, then you don't understand what freedom is.
An libertarian says no restrictions are necessary for freedom. A conservative says that the criminalization of narcotics is necessary for freedom. A liberal says that wage and price controls are necessary for freedom. A totalitarian says that a strict crackdown on dissent is necessary for freedom. And they are all SINCERE about their beliefs. Which one is right?
Because no one wants to reinvent the wheel. It's an incredible waste of time. The productivity could be better used elsewhere. A commercial company would have the choice of releasing every bit of their code that linked to libgtcpgip, reimplementing GTCP/GIP, or writing their own network stack from scratch. Remember, this is twenty and thirty years ago. GTCP/GIP would not have been a standard yet. There was no impetus to be compatible. The only thing an existing implementation gives you is a specification. It doesn't help you code at all.
By releasing the TCP/IP stack under the Berkeley license, the cost of compatibility was zero.
Using the GPL was a *requirement*? What happened to the "free" in "free software"?
And we can network Linux, BSD, Mac and Windows machines together under a single protocol. If the original TCP/IP stack were under the GPL there would be no internet. Instead, Unix users would be using GTCP/GIP, Windows users would be using MSN, etc. The information superhighway would be nothing more than mile after mile of "Do Not Enter" signs.
Where did I misread here?..
You didn't misread anything. You just flunked Basic Law 101.
The GNU Public License is a *license*. It is an agreement between the licensor (author) and the licensee (user). The terms and conditions of the GPL apply to the licensee and not the licensor. Like most licenses, there are zero restrictions placed upon the licensor. The copyright holder can do what he wants.
But only conditionally...
"For any purpose whatsoever" also includes making derivative works, linking to the work via name referencing, etc. There are many uses that the GPL forbids without certain conditions first being met by the end user.
If it were released under another license we could be denied the right to any future improvements which were based on the original code.
This sounds well and good, but what about those bits in the derivative work which were not funded at taxpayer's expense? The taxpayers did not fund those specific bits. Perhaps a weaker copyleft might fill the bill: "do whatever you want but distribute the original along with the derivation".
In any event, the reason that taxpayer funded works should be free is so that any taxpayer can use them. Corporations can come along and create derivative works from them, but the originals are still there and available for all. It doesn't go away. Keeping a minimal copyright on it, like the BSD or MIT licenses, is all the protection it needs to guarantee free access for everyone.
Altruism != self-interest. By definition.
By definition, you are correct. But by actual practice, there is no difference between altruism and self interest. Dictionary-altruism does not exist. People feed the hungry and cloth the poor because it benefits themselves. People license their software under the GPL, BSDL or MPL because it benefits themselves. If there was no personal benefit then they would not do so.
What value do you realize, exactly, from releasing your own software under the BSDL?
The benefits that I realize are different from what other BSDL authors realize, so take this with a grain of salt...
I get an ego boost every time someone writes saying that they use my software. I get an ego boost whenever someone uses my code in their own software. I get an ego boost when I see it become an official part of a distribution.
I become a better coder every time someone posts a bug. I become a better designer every time someone says my stuff sucks (if they offer a reason why).
I get monetary rewards as well. My code is a living resume, and I get job offers from it from time to time. My current position is a direct result of my releasing code publically.
And I get the moral well-being in knowing that everyone can use my code freely and without restriction. It pleases me that no one need worry about using my code, including using my code in their own code.
And what else are you not clear about?
I'm not clear on a lot of things, but they're all off topic...
If software should not be owned (as says the author of the GPL) then why should I assert ownership over sofware that includes bits that I haven't even created?
A company can hijack your user community ... you will lose your users.
This isn't feudalism and you aren't a feudal lord. Users are not serfs. They are not tied to your code. YOU DO NOT OWN YOUR USERS!
A M$Office that only runs on M$Linux does not *damage* Redhat or Debian. None of their code base is affected at all. Their code is still protected. Microsoft hasn't changed it at all.
Like I said, it is not necessary to use the GPL to protect code. However, there may be OTHER reasons to use it. Preventing damage to Redhat's corporate mindshare/marketshare in Linux is one. I'm sure you can think of others. But the protection of the code is already assured.
You mean I dont' have the moral right to give away my property? My God, into what irrational pit has objectivism descended! Altruism *IS* self interest! I get a hell of a lot of benefit by releasing my software under the BSDL.
But at least I am not so crass as to publicly proclaim that software should not be owned, while at the same time demanding a controlling interest in all derivative works.
If you post source code on a website, it will remain their as long as the website does. It keeps on giving. If other people also post your code, it keeps on giving faster. Regardless of license. It is most definitely NOT a one-time gift.
One of the reasons that I like to use these packages is that the code is freely available to all, and that will always be true. That gives me some extra assurance that any investment of time I make in these programs will always be open, to me and everyone else.
But the BSD license has these very same assurances! Your software will always be freely available to all people. There's nothing a company can possible do to your code to change this. Your code will still be there. All of your users' copies of your code will still be there. If you have a thriving community of developers, they will still be there. Derivation does not make the orignal suddenly disappear. You cannot steal what is free. The GPL is sufficient if you want to prevent companies from using your code without reciprocal compensation, but it is not necessary to assure your code's freedom.
Yup! There are perfectly valid reasons to use the GPL, but "protecting the software" is not one of them. The software is already protected. No company can steal it. No company can damage it. They can do all sorts of nasty things to derivations of the software, but the original software is inviolate. Nothing Microsoft could possibly do with a "M$Linux" would affect any Redhat or Debian user in the slightest. Their copies are still on their hard drives untouched.
If you want to make your software freely available, distributable and modifiable by all, the the BSD license is more than sufficient.
Reciprocal altruism is just another name for enlightened self interest. It's a fancy name for "I'll scratch your back if you scratch mine".
I can't wait for some of this stuff!
Binary Updater Project: Let's get rid of this "one size fits all" mode that all other systems impose.
Diskcheckd: A must for the massive drives nowadays.
libh: I can have my text mode installer and gui configuration at the same time!
They used all three of these systems "out-of-the-box". So look at what these systems are pre-tuned out of the box for: Redhat Linux for speed and FreeBSD for stability (and Windows Y2K for media benchmarking). Think about it.
At first I was going to rebut this post, since to my mind, 60 libraries for the type of application that GnuCash is sound absurd. I found that WindowMaker uses only 16 libraries, and Konqueror only 28.
But then I started thinking about it. Eight of the libraries were X11 libraries. And one other library was Qt, which is the equivalent to seven or eight libraries in the GTK world.
Obviously there are two different library philosophies here. One philosophy is to bundle all of the funtionality into a single massive library like Qt. The other philosophy, used by X11, GTK and others, is to split the funtionality amongst smaller libraries. For example, the KDE world does not have the equivalent of libxml, since that functionality is already rolled up into Qt.
Neither of these philosophies is wrong. A few large libraries or many small libraries. Both have their advantages and disadvantages. Personally I like being a Qt user. I don't have to worry about any dependencies or with one module getting out of sync with another. But I'm also a Qt developer, and I often wish I could use just one small module from Qt without having having to use all of it.
As long as GnuCash can keep its dependencies under control, then I don't have a problem with it using 60 libraries.
Absolutely not! Girl Scouts knocking on doors are specifically looking for people at home. Ditto for Jehovah's Witnesses, Mormons and trick-or-treaters. Casing is when you knock on doors (or perform other activities) to find out who is NOT at home. Big difference. Huge difference.
Go around your neighborhood. Knock on all the doors. When someone answers, politely say "Oh! I'm sorry, I didn't expect you to be home. I'll come back later." Within minutes someone's going to call the cops on you.
If you go up and down the street knocking on people's doors in order to find out who is not at home, then you are "casing". And that is a crime.
First of all, you're hampered and crippled by being a VB programmer. From you question, it seems as if you're seeking the Linux/Unix equivalent of VB. Forget it.
Your first step on the road to recovery is to learn a real programming language. And learn how to program in that language without the benefit of drag-n-drop and plug-n-play.
My recommendation is C++. Other people will call me a heretic and say it's evil. No matter. You get to learn C along the path to learning C++, so you can always stop along the way if you feel yourself slowly being twisted into an agent of evil. Other great languages are Python and Perl. Java is a cool language as well.
But no matter what you choose, learn to program first. Nothing else matters.
Oh, I understand the issues perfectly. Understanding exactly what the GPL is and how it works does not imply complete approval of it.
The GPL is designed to create "a community to cooperate on the commons of software" (http://www.gnu.org/philosophy/apsl.html). Ignoring the real history of village commons (owned solely by a manorial noble and rented out to villagers in exchange for serfdom), there is some valuable insights to be gained from this poor analogy.
GPL software is a commons in a village. Only the serfs of the village have access to the commons. All else can bugger off. Before you can utilize the commons for your own production, you must first swear fealty to the lord.
But software released under unrestricted licenses, like the BSD, MIT or Apache, is like a market square in a town. Anybody can make use of it, regardless of their citizenship. And no matter what a travellers sells in the square, it will still be available to everyone else.
I license my own code under the BSD license. Over the past year, three other independent projects have decided to utilize portions of my code in their own software. Two of these are GPLd projects, and one is a BSDd project. If I had used the GPL instead, then one third of these projects would have had to reinvent the wheel.
Take all the approved Open Source Licenses and all the approved Free Software Licenses, and all of those not yet approved but which might be. Now arrange them from the simplest to the most complex. The GPL ranks up there next to those corporate legalese licenses. Now rank them according to their actual length. Ditto. Rank them according to the number of restrictions. Ditto.
Frankly, the GPL is one of the most complex, lengthy and restrictive license you could devise and still manage to squeak into the "free" category. As a user, I am glad that GPL programs are free. As a developer, I wouldn't touch it with a ten foot lawyer.
With the BSD-license you don't have to distributed the source, so companies can take the source easier.
Absolutely wonderful! That's the whole beauty of unrestricted licenses like the BSD and MIT.
You see, information has a special nature. It wants to be free. It can be infinitely copied. It costs nothing to reproduce. IT CANNOT BE STOLEN!
Let the companies take the source! Nothing they can do it can possibly harm it. Fold, spindle, mutilate and relicense your copy. Let them charge $1200 a copy, and have 20 page EULAs. My copy is right here! Unchanged! Still Free! Ha ha!
It ain't just Microsoft at computer shows that pulls these sorts of tricks...
Last year at Manafest, one of the premier west coast RPG conventions, I got booted by the RPGA. I was second gamemaster to sign up to run a game, four months in advance. Five minutes before my game was scheduled, my game was cancelled at the request of an RPGA bigwig. I'm still not sure why.
It was my fault really. You see, I wasn't running an AD&D game (the Windows of the RPG world). And I didn't realize that the RPGA had paid for the convention. The Manafest crew profusely apologized to me, saying that they had no choice if they wanted to RPGA there again next year. But it still leaves a bad taste in my mouth, and I'll never go to another con sponsored by the RPGA.
Moral of the story: whoever pays for the show gets to call the shots...