Advertisement

The evil Open Source

Started by September 13, 2006 12:25 AM
57 comments, last by Null and Void 18 years, 4 months ago
Quote:
Original post by owl
Quote:
Original post by will75
Notice that the LGPL might be undesirable for other reasons...

The size of your executable plus the LGPL DLL is generally larger than the size of your executable statically linked to the same library. If size matters for your project, dinamically linking the LGPL library can be problematic.

Using a LGPL library, you let everyone know which technologies you're using. Depending on your project and your businness this can be more or less acceptable.

Giving a chance to replace a component used by your software, you're giving a chance to easily modify the behaviour of your product. To what degree this is acceptable depends on the circumstances, but generally that's not a good thing.


Everything goes mooth after you realise the time it would take to you to re-write those libraries yourself. Besides, lots of commercial titles have been released for Linux using LGPL libraries and nobody is complaining.


Ok, but hopefully there are tons of open source libraries and not all of them are LGPL. For example for a project I needed a library providing basic platform abstraction services (threads, file system abstraction, etc...) and between glib (LGPL) and boost (boost license) I decided for boost because the license allows static linking.
I see your point however, writing your own code when an open source solution is available is a waste of time, it's just that in some situations you have to do it.

What I really dislike about GPL and LGPL is the ideology behind them. The FSF is constantly speaking about freedom, but those licenses have been created with the explicit pourpose of "forcing" programmers to open source their code and that doesn't look like freedom to me. Maybe "forcing" is too strong, but you get the idea... Stallman invites people to use the LGPL only for libraries implementing solutions that are already available in some form (open source or commercial). If a library is unique and innovative, he asks to release it under the GPL, because this way people who will want to use it will have to release their own code.

An example. Suppose you need a large number of tightly optimized loops. The number is so large that you executable would get too big. A solution could be to emit the code on demand and for this you need a JIT compiler. Any available solution?
As far as I know there are no commercial libraries implementing something like that.
There is GNU Lightning, it's LGPL, but you can't create a DLL of it because it is entirely implemented with preprocessor macros.
There is libjit, but the author choose the GPL instead of the LGPL with the explicit intent of preventig closed source projects from gaining value from it. In his idea this way people who want to use libjit will be compelled to give back to the free software community.
This doesn't look like freedom to me: I'm not free to use that code, because I would be forced to release my code and that would destroy my business.
Personally I would rather pay for such a library since I think programmers deserve to be paid (and hopefully the author of libjit admits this possibility).
Asking to release code instead is an attempt to force people to join them in their ideology.
NOTE: with the term ideology I mean an idea not supported by hard evidence... with open source is quite evident the opposite of what FSF advocates: many software related businesses can't be sustained if the code has to be open.

Maybe my vision is somehow extreme, but there are so many (imho better) alternatives to the LGPL, that I prefer to stay away from it.
Quote:
Original post by mdwh
Quote:
Original post by will75Exactly... The problem with the GPL is that it still has not been tested enough in courts, so it's still not clear if the concept of derivative work expressed in the license is compatible with copyright laws.
If you are distributing somebody else's library, then this is a violation of copyright unless you have that person's permission. And that person may say they'll only give you permission if you open source the program you're distributing with the file.

I think the links you gave refer to issues surrounding the wording of the GPL itself - whether you could get away with certain forms of linking according to the way it's written. Obviously if the GPL had a loophole, then legally people could get away with it - but my point is that by default in law, you are not allowed to distribute somebody's library at all.

Copyright law doesn't care about issues such as linking, because the very act of distributing that code (whether or not you have code linking to it) falls under copyright laws.


I'm no sure if we are saying the same thing or not.
You say: "my point is that by default in law, you are not allowed to distribute somebody's library at all", but the GPL has been created with the precise intent of letting you distribute that code (and that's why they use the term "copyleft").

So the point is not if you're allowed to distribute the GPL code or not, because according to the GPL you can.

The point is if you have to distribute you own code under the same terms.

You're right when you say that in the end it's just a matter of wording, since the intent of the GPL is clear anyway.
Unfortunately there is still a minority of programmers that think they can use GPL code without releasing their own code, because from their point of view they are just "using" it, not "extending" it.
At the same time there are people releasing their code under the GPL even if their intent is just to protect their work (something that can be achieved with other more liberal licenses) and not to force anyone else to release their code.
Advertisement
Quote:
Original post by will75
What I really dislike about GPL and LGPL is the ideology behind them.


If you think about it, it makes sense. Imagine you write a great program or library and you want to give it away for free to the public domain but you want to be known as the author of this piece of software, what would you do?

Obviously that for a private corporations, using someone elses code for free under GPL can be inconvenient for certain busines, but think about all the institutions (hospitals, universities, governments, etc) that can take advantage of free software by not having to expend lot of time and money re-inventing the wheel.

Forcing people to keep it open and free ensures that it will always be available for everyone.
What would be of us, linux users, whitout GPL?
[size="2"]I like the Walrus best.
Quote:
Original post by owl
Imagine you write a great program or library and you want to give it away for free to the public domain but you want to be known as the author of this piece of software, what would you do?


Release it under the BSD license. The code is still clearly yours, it is under your copyright, but it is available to many more people than just the "GPL club".

Quote:

Forcing people to keep it open and free ensures that it will always be available for everyone.


Not true. Not only is the code is not available for everyone, as you just admitted, but the GPL does not ensure code will be "always available" any more than the BSD license - there is no way someone can take code released under BSD and "close" it.
Quote:
Original post by will75
What I really dislike about GPL and LGPL is the ideology behind them. The FSF is constantly speaking about freedom, but those licenses have been created with the explicit pourpose of "forcing" programmers to open source their code and that doesn't look like freedom to me.
I think the point is it's freedom from the point of view of users, not from the point of view of developers who wish to profit from other people's work ;)

Quote:
Personally I would rather pay for such a library since I think programmers deserve to be paid (and hopefully the author of libjit admits this possibility).
Asking to release code instead is an attempt to force people to join them in their ideology.
True, but it works that way with closed sourced software too - if they only allow people to use their library if you pay, and I'm just someone wanting to write something for free and for the fun of it, I'm out of luck. Although I agree that LGPL is far better for libraries than GPL (also some people release as both GPL and with a non-GPL licence if you pay).

Personally when I release my stuff as GPL, I'm not saying I want people to join my "ideology" - I'm just saying, if you distribute and modify my code, then the least you can do is let me see the results (and if someone were to offer me sufficiently large sums of money for a non-GPL licence, I'm sure I'd be happy to offer them that;).

http://erebusrpg.sourceforge.net/ - Erebus, Open Source RPG for Windows/Linux/Android
http://conquests.sourceforge.net/ - Conquests, Open Source Civ-like Game for Windows/Linux

Quote:
Original post by bakery2k1
Quote:
Original post by owl
Imagine you write a great program or library and you want to give it away for free to the public domain but you want to be known as the author of this piece of software, what would you do?


Release it under the BSD license. The code is still clearly yours, it is under your copyright, but it is available to many more people than just the "GPL club".

Quote:

Forcing people to keep it open and free ensures that it will always be available for everyone.


Not true. Not only is the code is not available for everyone, as you just admitted, but the GPL does not ensure code will be "always available" any more than the BSD license - there is no way someone can take code released under BSD and "close" it.


Where did I say GPL code isn't available for everyone? The fact that people can't greedily profit from other's work doesn't mean the code isn't available for them to other kind of business like tech support, etc. Even learning!
[size="2"]I like the Walrus best.
Advertisement
Wait... im confused now...

some of you are saying that If I link/use a OpenSource Licensed library then all my code has to be Open Source.

Does this mean that I could never create a comercial game using for example something like OGRE? Ogre is open source so anything that uses Ogre has to be open source? What about Zlib? Anyone using ZLib needs to open source their code?

I mention ogre but I never used it before. I was planning on using OGRE to start coding and based on the design of OGRE build my own DirectX Library. (Since I never built one I want to know what kind of functionality I should try to deliver, etc etc). Is this allowed under the Open Source then? I am basing my code on something that was open sourced and yet am not planning to release my new/based product under open source?

Yours Truly?
Pain is Inevitable, Suffering is Optional.Unknown
I have to agree with will75 on having issues with the ideology of the FSF. We know that Richard Stallman is out to destroy the commercial software business; he has stated as much (his answer, everyone makes money on supporting software, whatev, I'm not convinced). He has a plan for this, and I think the GPL is basically the "first step" in that plan. He's trying to fracture the development world into GPL and non-GPL, where eventually the GPL world will have the technological advantage, forcing people on tight budgets to use the GPL code.

This hurts the little guys the most because they are limited by the economics of the situation the most. Microsoft, IBM, Oracle, Sun Microsystems, they can all afford to reinvent the wheel to keep their software proprietary and closed source. Startups (~5 employees) or even and small companies (~100 employees) cannot.

I think even Marxists can agree that this is technological communism. Communism has always hurt the little guy the most.

I'll admit, I've considered violating the GPL in the past. It's a calculated risk, I feel. I doubt that the GPL will hold up in a US court, especially with some of the bad press it has received. It has already come up in at least one court case in which the judge expressed that he felt the GPL was tantamount to price fixing. Fortunately, there are very few really good, really innovative libraries that are exlusively to the GPL. Most of the time, an alternative library under the BSD-license is available, or relicensing is available from the creator.

[Edited by - capn_midnight on November 3, 2006 9:26:15 AM]

[Formerly "capn_midnight". See some of my projects. Find me on twitter tumblr G+ Github.]

Quote:
Original post by owl
Where did I say GPL code isn't available for everyone? The fact that people can't greedily profit from other's work doesn't mean the code isn't available for them to other kind of business like tech support, etc. Even learning!


Sorry, I took this:

Quote:
Original post by owl
Obviously that for a private corporations, using someone elses code for free under GPL can be inconvenient for certain busines.


to mean "private corporations cannot use code released under the GPL". If that's not what you meant, that's fine, but it is certainly true.

Some companies will not allow employees to even look at GPL code, even for tech support and learning purposes, for fear of the GPL licensed code finding its way into their proprietary products.

Quote:
Original post by BloodWarrior
some of you are saying that If I link/use a OpenSource Licensed library then all my code has to be Open Source.


There are many different "Open Source" licenses. If you use code distributed under any of these licenses, you must respect the terms of the license. These include such things as adding disclaimers to your documentation, crediting the original authors etc.

One of the most common open source licenses is the GNU General Public License (the GPL). One of its provisions is that if you use code distributed under the GPL, your code which uses it must also be released under the GPL.
Quote:
Original post by will75
What I really dislike about GPL and LGPL is the ideology behind them. The FSF is constantly speaking about freedom, but those licenses have been created with the explicit pourpose of "forcing" programmers to open source their code and that doesn't look like freedom to me. Maybe "forcing" is too strong, but you get the idea... Stallman invites people to use the LGPL only for libraries implementing solutions that are already available in some form (open source or commercial). If a library is unique and innovative, he asks to release it under the GPL, because this way people who will want to use it will have to release their own code.


Nobody's forcing you to use anything. You can always write your own or pay someone to write a proprietary library for you.


Quote:
An example. Suppose you need a large number of tightly optimized loops. The number is so large that you executable would get too big. A solution could be to emit the code on demand and for this you need a JIT compiler. Any available solution?
As far as I know there are no commercial libraries implementing something like that.
There is GNU Lightning, it's LGPL, but you can't create a DLL of it because it is entirely implemented with preprocessor macros.
There is libjit, but the author choose the GPL instead of the LGPL with the explicit intent of preventig closed source projects from gaining value from it. In his idea this way people who want to use libjit will be compelled to give back to the free software community.
This doesn't look like freedom to me: I'm not free to use that code, because I would be forced to release my code and that would destroy my business.


So neither library is compatible with your business model: use another one, or adapt your business.

And please try to understand that the GPL tries to ensure that the software will remain free for the end-user of a program. It doesn't guarantee that said software will be compatible with a business model at all:

Quote:

11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.



Quote:
Personally I would rather pay for such a library since I think programmers deserve to be paid (and hopefully the author of libjit admits this possibility).


Apparently, some authors think like you, but they want code, not money. [smile] Maybe it isn't the kind of thing you're willing to give, but that's what they want.


Quote:
Asking to release code instead is an attempt to force people to join them in their ideology.


No it isn't, just like asking for money isn't forcing you to join some capitalist party. The author wants something in return for her work. Either you pay and can use it, or you don't and can't. It's the same old trading humans have been doing for millenia.


Quote:
NOTE: with the term ideology I mean an idea not supported by hard evidence... with open source is quite evident the opposite of what FSF advocates: many software related businesses can't be sustained if the code has to be open.


A lot of businesses were made obsolete over time. Strictly speaking, software has nothing to do with business, and therefore isn't concerned with the survival of a given category of it. FOSS benefits a lot of businesses, and yes, it might be detrimental to some others.


Quote:
Maybe my vision is somehow extreme, but there are so many (imho better) alternatives to the LGPL, that I prefer to stay away from it.


Which is your right, of course. Nobody's forcing you. [smile]


Sorry about this out of topic post.

This topic is closed to new replies.

Advertisement