Using GPL/BSD Code In Closed Source Projects? 267
Dan asks: "I am considering writing a program that will use code from OpenSSH and OpenSSL as the base for my network protocol in a closed source project. How can I do this without breaking the GPL/BSD license? If I isolate the borrowed code in a shared library, and then open the source for that whole .so or .dll file, is that sufficient? Or do I also need to open the API for that shared library as well?
It seems to me to be quite reasonable to include code from open source projects in closed source projects, as long as the areas that it touches are open as well. For example: if I develop a network chess game with a protocol based on OpenSSH, it would seem to me to be reasonable to open up the code for the protocol, but not the code to make the entire game...that would seem silly. Any thoughts on this?"
Re:Licensing issues - CORRECTION: CORRECTION (Score:2)
--
Re:More than a political statement (Score:2)
Re:Huh (Score:2)
Intent not *THAT* clear (Score:2)
But this is Unix. The Unix philisophy is "many small programs chained together". The Unix philosophy is of many small independent components, each of which is independently useful, glued together by an overarching "glue" program (often written in a scripting language, but not necessarily).
I think it's plenty clear that releasing independently-usable programs under the GPL satisfies all terms of the GPL, as well as adding to the large stock of GPL'ed software already out there. The operative phrase is INDEPENDENTLY USABLE. If it requires proprietary components in order to be useful, then it's not in compliance with the GPL. So if I create a new encryption program, let's called it, say, 'aescrypt', so that I can transfer encrypted passwords around my network by calling it from within my own proprietary programs, it is in compliance with the GPL as long as I can post it on Freshmeat and other people can download it and use it in their own scripts and programs. But if I made it require a special file or a special proprietary program in order to be useful, well, that's not in compliance with the GPL. Deciding exactly how independent a program must be in order to qualify as being a GPL'ed program is something that requires some thought. It's obvious that "aescrypt [sourceforge.net]", for example, could be GPL'ed (we actually released it under the BSD license, but that's another story). But if we took the GNU "df" program and modified it to produce output that was easily parsed by shell scripts but that is not easily humanly readable, does the resulting program comply with the GPL? I say yes, because other shell scripts that need file system listings can use "sdf" ("shell df") and thus it is independently useful. But others may disagree.
RMS has covered this to a certain extent in his comments on calling GPL'ed CORBA components from proprietary programs. He's for it -- as long as the CORBA components are independently usable components (i.e., that don't require non-GPL'ed components in order to run). The goal is to increase the number of GPL'ed programs and components in the world so that he never has to use a proprietary program, not necessarily to squash all proprietary vendors (though he disapproves of proprietary vendors, obviously!) But I'm sure there's some possibilities in there that RMS is still thinking about.
-E
In fact we do this... (Score:2)
Can accept GPL, or not (Score:2)
-E
Spam, spam, the funny-tasting ham (Score:3)
-E
That's what we did. (Score:5)
While RMS would have preferred that we open sourced the whole application, the fact that we have released independently-usable programs as a result of our work is enough to satisfy the GPL and stave off a little of the grumbling. That is also why RMS says it's okay to call GPL'ed CORBA components from proprietary programs -- every little piece that's GPL'ed helps further his goal of being able to do everything with free software. The requirement is that the GPL'ed component be a complete, independently usable program or component -- this gives RMS something that he can personally run as part of his totally-free system. Just releasing a few unusable fragments of code (or a CORBA component that requires proprietary components in order to be useful) won't do the job.
Regarding network protocols, I wouldn't use 'ssh' or 'openssh' anyhow. Investigate 'openssl [openssl.org]', and write your own protocol based upon it. I could not use OpenSSL for the closed source project that I worked on because of the RSA patent (which is now expired so it's not a problem for you, back then it WAS a problem) so I wrote my own Diffie-Hellman based protocol, but nobody should have to go through that hassle nowdays.
-E
Sorry (Score:5)
The rule (well, the law, I should say) is that if the library is GPL'ed, then programs that use the library must be GPL'ed. If you don't agree to that, you have no right under copyright law to use the library, and can be sued for a $100,000 copyright violation for each instance of shipping a proprietary product that uses the library (so if you sold 100,000 copies of your program... whoa, can you count that high?!). Note, however, that I can use 'tapeinfo', 'loaderinfo', and 'scsitape' from a proprietary product without the proprietary product itself being GPL'ed. What matters is that these are complete, useful programs. The fact that they can be called from shell scripts or Python scripts that are not themselves GPL'ed is irrelevant.
-E
Perverting the License (Score:2)
I really think that this guy needs to either suck it up and use the right license or re-write the code that he needs. Most developers use the GPL so that other folks have to use the GPL if they utilize code from the GPL'ed program. If you don't like the GPL that's cool -- but you shouldn't benefit from the work of people who contributed to Free Software.
BSD Licenses do allow what he's talking about, so if there's code available under that license then fine.
I'll probably get flamed into eternity for this but oh well...no one argues that I should be able to co-opt proprietary code from Windows and GPL it. If you want to write proprietary code, then you shouldn't be able to draw on Free Software.
Both a tool and a license (Score:2)
It's funny how those who GPL their code get more heat from the likes of idiot you replied to than closed source software providers who give us less freedom with their code.
--
Re:Licensing issues... (Score:2)
It depends, I suppose, on whether they chose the GPL because it was simply the standard in their area of software, or whether they actually believed in copyleft. Or, in some cases, where they chose GPL just so they could keep close-source competition from gaining unfair advantage from their software (by using pieces without giving back their improvements).
I know Ian Murdock (Debian founder and dpkg developer) has even made noises that he would make an issue of using this sort of technique to use his GPL code with non-GPL programs. I think he ended up softening his stance in the end, though.
Re:Huh (Score:2)
He's not willing to give you the rest of the game, which is not a change or addition to the code, but something completely separate. I hardly see how you can consider the algorithm powering his chess game a change to the networking code. It's completely separate, and he has a valid point that it's silly to expect him to open that code.
What you'll probably end up with is a chess game that has crappy networking code, and GPL networking code that isn't improved because the license on it is ridiculous. Big win for Open Source(TM)
Re:You use my code, you pay the bill I send you. (Score:2)
What about (...)? (Score:2)
GPL questions...
I understand that copying and pasting somebody's code into your code is a bad thing. What about using a Perl module (you are including source with your source code). Or libraries that are GPLed but your code is not?
I could be missing the boat here. If I am not modifying the work that they have done and I am not including what they did with my software but it requires it to operate, is that wrong.
I can think of scripts I wrote in school that used Perl modules to get stuff done. Should those scripts be opened up?
How far does it reach?
How TiVo did it... (Score:4)
If you really want to disrespect the wishes of GPL code authors, you might want to look at what the TiVo guys did to implement their proprietary filesystem on Linux.
What they did (or near as dammit) was write something akin to the NFS mounting code, except using UNIX sockets instead of IP sockets. This code had to be part of the Linux kernel, and was hence GPL. Then they wrote a closed-source piece of filesystem code which ran as root in userland. The GPL code in the kernel would then mount the filesystem being exported by the closed-source fileserver code.
This was legal, if not in the spirit of things.
So, you could write a program which proxies IPC messages and SSLifies them, and make it GPL. In fact such a thing might be a valuable tool to the community, since they could easily reuse it in all sorts of situations. Your closed-source program would use this GPL'd component's services to reach the outside world in an SSLified manner.
Oh, by the way, we call SSL TLS these days, for some reason unknown to me...
--
Licensing issues... (Score:5)
If it's LGPL, then you can isolate the code in a shared library and Open-Source that, while keeping the rest closed. It does have to be a shared library, however; static ones won't do.
If it's GPL, your chances are slim, but all is not lost. Ask the authors of the code for permission to use their code in your project. You never know; they just might let you do it.
----------
Don't even LOOK at GPL code (Score:4)
If you're doing closed-source work, don't even look at GPL code, lest you be accused of stealing code somewhere down the line. And if someone calls you on a suspected GPL violation, how can you prove your innocence? Show them the code? Even if you are inspired by how a piece of GPL code did something, and implement something similar, that's kinda suspect as well.
Play it safe, don't invite the wrath of GPL zealots upon yourself and your project, just steer clear of GPL code altogether.
Re:You've just discovered the *POINT* of the GPL. (Score:2)
On the other hand the BSD licence is for people who would rather see good code running things, even if there is no way to get money or code or (assuming the advertising clause is dropped) even fame.
If you spend a month tweeking a LaPlacian predictor for whatever reason and slap the BSDL on it you get code that might make it into your automatic transmition, or anti-lock breaks. If you GPL it chances are very slim.
Either is your right. The GPL is somewhat more likely to force others to open their code. The BSDL won't force anyone to, but people who use it migh feel like contributing on their own. Or not.
Well, if they BSDL it, or (to a lesser extent) LGPL it, I would say it is Ok, because they told you it was. If the code is GPLed, and allready packaged up as a usable program, maybe it is Ok. Is it OK for a comercial web browser to fire up a GPLed helper app? Is it ok for a comercal shell to use GPLed programs inside a pipeline? Is it OK for a comercial program to run under the Linux kernel? Is it OK for the same comercal entity to ship a Linux distribution "for free" along with the comercial (close source) program?
Yeah, but one man's loophole is another's clear intent. Is what TiVo did exploiting a loophole? Or did Linus intend to allow it?
I'll totally admit that taking a GPLed liberey and turning it into a program, and than effectavly into a LGPLed one by talking to that program over a pipe or shared mem or whatever is...distasteful, cheeting, and immoral at least if the program isn't generally useful. The harder part is, what if that program is gennerally useful?
If gzip was only libgzip.a, and GPLed, would writing a commandline gzip and gzcat be immoral? Even if the primary intent is to let it be used from a non-GPLed program?
Re:You've just discovered the *POINT* of the GPL. (Score:2)
Code cannot be "stolen". (and this is according to RMS. He gave a talk at my University [uwaterloo.ca]). However, the GPL code can be "misused" (his term) in exactly the way you describe.
___
Re:What are you, new? (Score:2)
Full disclosure: I just started hang gliding, so the chances that I'll be in the market for a Linux-supported vario in the near future seems to be rather high; I'd love some graphics support :)
--
There are commercial alternatives to OpenSSH (Score:4)
If you're unwilling to pay yourself, then maybe you should reconsider your model.
Re:More than a political statement (Score:2)
Perhaps you could isolate the super-secret-squirrel code in another executable that gets called by the main application which you could then GPL...
There's lots of BSDL code out there too, which would work for you just fine.
"Oh twap!"
Re:Ironic (Score:2)
Stallman's use of the word "free" very seldom has anything to do with monetary cost and everything to do with freedom.
Or are you under the impression that when people talk about a "free country" they mean that you can get anything without paying for it?
There is a difference between selling software for steep prices, and trying to lock-in the customer through secret code and underhanded anticompetitive practices like Microsoft's "embrace and extend" policy.
"Oh twap!"
Re:Using code via BSDL code is no problem (Score:2)
You may regard that as a benefit. From my perspsective, if somebody wants to use my code for their project, they should have to open their project's code too. That's the reason why the project I work on uses the GPL.
Others might be happy for their code to be absorbed into closed source projects. Sometimes there are practical reasons for allowing this, sometimes it's just personal preference. Good for them - they can use the BSD license or put their code in the public domain. Just don't expect me to.
Re:GPL Licensing (Score:2)
Re:What are you, new? (Score:2)
Hmm, you're looking for the OTHER Slashdot (Score:4)
Somehow I doubt the slashdot crowd is going to be overly sympathetic to the stated goal of, essentially, figuring out the LEAST you can do in terms of contribution for what you've taken.
While you may be totally legally clear by just returning all the network side of your app to GPL, I think the moral idea is that if you are clearly benefitting from "borrowed" code, you should be loaning out your own code at more than the bare minimum required so that others can benefit.
The other (comprimise) way of doing this would be neither to give back the chess game nor just your network patches, but something in-between. Develop a generalized gaming network protocol based on OpenSSH that could be used by other game developers for backgammon and checkers, so that while you may be selling your closed-source chess game, you make it easier for others to create similarly polished (and compatible!) games (GPLed or not).
---------------------------------------------
GPL and reused code (Score:2)
That said, both codebases are under licenses which allow you to copy code (1 - OpenSSL) as long as you don't claim the finished product to be the original, or use the name of the original to promote your work. (2 - OpenSSL) That derived code include the copyright notice from the original code. And (3 - OpenSHH) that you credit the originators for their work.
So the bottom line is yes, you can use it. GPL code however requires that when redistributing GPLed code, you license it under the GPL, include source code for no additional cost. If you only copy and do not redistribute GPLed code, (i.e. for a project strictly internal to your company/organization) then all bets are off, and you can do with it as you please.
-earl
Re:How TiVo did it... (Score:2)
It's funny that they took this approach as it was entirely unnecessary.
A filesystem can be implemented in a module. Linus specifically allows closed source modules to be used with the GPL kernel. If the filesystem had been implemented as a module, it could have coexisted just fine with the GPL kernel.
Re:if its GPL you have a problem (Score:2)
Don't think you will get away with it. Many have
tried and gotten caught. You will be exposed as
a law breaker and thief.
I don't know, can you point to one place which gives information on people getting caught with GPL'd code in a closed-source program?
I ask because CONSTANTLY it comes up that people say, "Maybe this will be the legal test of the GPL" blahblahblah... From comments like these, it sounds like there has NOT been such a case yet.
Erik
Re:What are you, new? (Score:5)
Nice spin. Completely bogus. I can't "force" you to do anything. However, I can withhold my permission for you to use my code.
It's not like using GPL'd code is your only choice when you start a new project. You could write it yourself, like I did. Or you could hire someone else to write it. Or you could obtain it through a license which may or may not cost money, depending on what you want and who is licensing it to you.
The problem with critics of the GPL is that they assume they have some kind of intrinsic right to use GPL'd code, and thus bitch about the restrictions on it. The fact is, however, no one has any intrinsic rights to it at all. You can use it under a license, just like you could with code from Sun or Microsoft. If you don't like the cost or terms of the license, you have to shop elsewhere, whether you're dealing with Sun, Microsoft, or me.
--
Seems fine to me. (Score:5)
You'll be wanting to read the OpenSSL licence [openssl.org] then?
But it seems fine to me. OpenSSL is released under a variant of the BSD licence (enforced credit-where-it's-due), which is more or less carte blanche to do what you like provided you put some thank you's in the appropriate pages. Apart from that, fine, tunnel what you like. Try hacking around with stunnel first (/usr/ports/security/stunnel/).
Dave
Re:read his comment again (Score:2)
If I write a game by using 50% GPLed code, I'll get that game out a lot faster. But I'll have to GPL the game source and release it.
If I change my mind, I can simply rewrite that 50% that I borrowed and then I'm free of the GPL.
You can't revoke a license. If you release something under any license you can't change your mind, GPL or BSD, or whatever. But you can relicense your portion of the source. That is, simply rerelease the code with a new license. Or, in this case, remove the GPLed code and then don't release the source.
But, imho, it's pretty sleazy to use open source code to write a game and then close the project when it gets popular. If you used community resources to write something, you should help the community by releasing your code. To do otherwise is terribly greedy.
Counterstrike (to use your example) would still sell just as many copies if it was open sourced. All the content (art, maps, models, etc) is copyrighted quite seperately from the GPL. To release the source code wouldn't involve giving a working copy of the game away.
Re:What are you, new? (Score:2)
You've already finished it (from the sounds of it) but had you been starting now, I'd say that it likely would have been a lot easier if you could have borrowed GPLed code for your tasks. That would probably have ofset any lost time involved in breaking out the device specific routines into a seperate file.
It honestly doesn't sound like an application with a wide market, so don't sweat it.
If I write a program for my own use, I'll send the binary to a friend of testing, without worrying about this technically being distribution, etc. Ditto with something I wrote for myself that someone else wanted a copy of.
I'd only call it distribution if I was offering it to other people, on a web page or something.
That may not technically be the correct meaning, but in the case of a limited audience app, I don't think it matters. (While a high percentage of your friends might use it, I doubt many people worldwide have ever heard of FAI, let alone need to interface with hardware they certified.)
Where does the GPL fit in? (Score:2)
Er...GPL, DMCA, er... (Score:2)
Oh wait, everything's okay if it's done in the name of the GPL. Sorry, I don't mean to rant, but we can get pretty hypocritical around here...
Under federal law, use is copying (Score:2)
The question whether you will be "found out" and prosecuted or subject to liability is a question different from whether you may legally use, but not distribute, modified or linked-to GPL software that you feel could not be distributed.
Re:variod (Score:2)
Re:There should be no compromise. (Score:2)
Re:There should be no compromise. (Score:2)
I think that's the point.. it's all about everything being free and open. RMS is not just trying to encourage Free Software, he is trying to stop closed software, which is all in all, a good thing, because you only do harm to people by closing your source.
Re:Don't even LOOK at GPL code (Score:2)
Re:Heh, GPL is *not* freedom, sorry (Score:2)
Re:You've just discovered the *POINT* of the GPL. (Score:3)
Re:You use my code, you pay the bill I send you. (Score:2)
The reason that you wouldn't say that is that it's not true. Anyone can use GPL software. The GPL only restricts what gets done with the source code. Specifically, it puts restrictions on source code so that GPL'd code won't make its way into proprietary software.
And that doesn't seem unreasonable to me. When I work on code, and contribute it to the community, I don't want someone else making money off of my effort. Sorry that's just the way I am.
You may decide that since this is a restriction, that it's not free, since "free" would imply without restriction. But "free as in speech" doesn't imply without restriction (e.g. slander, libel, and yelling "fire" in crowded public places), so I don't see the need for "free software" to imply no restrictions.
Re:Too Funny... (Score:2)
Napster is piracy (illegal exploitation): it infringes on the right of sale (or whatever it's called in english. it's not my first language and IANAL)
GPL in closed source: This infringes on the moral right of the creator: the original creator is not fully accredited.
As for my view on copyright: the second case of plagiarism is, IMO, the good part of copyright. the piracy clause should be done away with. But those are just my views.
//rdj
Re:How to never worry about GPL again (Score:2)
You use my code, you pay the bill I send you. (Score:5)
If you want to use MY code, you have to agree to the terms I give on it. And my terms for using MY code within your program are that you have to release the source code for the entire application.
GPL code is not public domain. You have to satisfy MY price to distribute MY code. Otherwise, you have no rights under copyright law. If you don't like the terms I offer, you can either negotiate other terms with me (which will probably require monetary renumeration), or you don't use the code.
If you want code without these restrictions, either reimplement it yourself, or use public domain. You have no right to use my code.
Re:BSD != GPL (Score:2)
It also doesn't mean you shouldn't. In the case of OpenSSH, I can say with certainty that the authors don't care how you use it. They don't have an axe to grind.
Re:If it's GPL, ask the author for a different ter (Score:2)
Copyright is also a really long time. I can't recall the specifics offhand, but 50 years floats to the forefront as a minimum. There's also some stickiness about renewals and rights to survivors and the like.
Re:Public Domain (Score:2)
Greetings from a fellow nut. :-)
I'd probably go PD myself, too, but there's the thorny issue of protecting oneself from people who think that gifts of code should be warranted. Being paranoid about that sort of thing, I'm shooting for an X license (is it just me, or does anyone else think the BSD license has some problems with grammar and punctuation?)
Re:GPL Licensing (Score:2)
You're the original author of GoodForNothing, so you can do whatever the hell you want with it, plain and simple. There are a few companies that do this for their business model -- release the same code both GPLd and proprietary so they can appease zealots^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H gain support from Linux folk and make money at the same time. (Of course, they must get copyright assignment on any outside contributions in order to keep doing this.)
OpenSSH won't stand in your way in this scheme. It's licensed under the BSD license.
Re:Using code via BSDL code is no problem (Score:2)
Wrong viewpoint (Score:5)
Your option under the GPL is this: Open your code or use a closed-source library. Perhaps, instead of trying to find a way to include open code without violating the license, you should explore either one of the above options. Anything else would violate the spirit, if not the letter, of the General Public License.
--
Re:Hmm, you're looking for the OTHER Slashdot (Score:4)
Then write your own code, don't borrow others'. Seems simple enough. If you don't believe in the GPL, don't use code that goes by it.
Re:Now we see the lameness inherent in the system. (Score:2)
What's "nasty" about it? You don't like the GPL, so don't use GPL'd code. Write your own stuff. Or do you think it's fair to use someone else's hard work in your own project and then be under no obligation to pay for it? There is NO difference between what the article poster proposes, and taking someone's closed source code and incorporating it into your work without paying for it. In one case the price is monetary, while in the other it is the requirement to open your code. You are free to choose not to use it. Trying to "get around" the license is unethical and morally wrong. No one is forcing anyone to use the GPL.
-Vercingetorix
Re:BSD (Score:2)
And what is so hard about actually READING the BSD license?
Oh, wait, as this AC points out...this is
If so, you don't even have to let them know the code is there anymore and don't have to credit them
WRONG, wrong, wrong.
All of the documentation and software included in the 4.4BSD and 4.4BSD-Lite Releases is copyrighted by The Regents of the University of
California.
Copyright 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2.Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
As you can see, you HAVE to keep the copywrite and disclaimer. You HAVE to keep the copywrite on the code.
Now, you can ADD other copywrites which do not conflict. But you CANNOT do as the AC suggests.
Re:BSD (Score:2)
The removal of clause #3
3.All advertising materials mentioning features or use of this software must display the following acknowledgement:
This product includes software developed by the University of California, Berkeley and its contributors.
Just because #3 is gone, this does not mean #1 and #2 clause go away.
1.Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2.Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
The poster who stated:
If so, you don't even have to let them know the code is there anymore and don't have to credit them
IS WRONG
You have to credit them. And you have to let others know that the code has BSD origins.
You just don't have to do it in the advertising materials is all.
Re:You could do what TiVo did... (Score:2)
Using code via BSDL code is no problem (Score:3)
--
Eric is chisled like a Greek Godess
BSD != GPL (Score:2)
The questioner completely glosses over this, as if he thinks they are the same. They are not. The BSD license allows you to rip their code for any purpose whatsoever. OpenSSH [openssh.com] is under the BSD license, not the GPL, so that answers the question.
Which doesn't mean you should do what you are talking about, only that you can.
Re:What are you, new? (Score:2)
Also, who says you can't call a open source (GPL or LGPL) library with a proprietary program? Netscape does it all the time and it's closed. So does alot of other programs. Heck Oracle is as closed source as can be yet they use a open source resource (namely, the kernel(only one I can be positive about)!). Doesn't all closed source programs running on Linux use something that's GPL'D?? Your FAI example doesn't make alot of sense. You said the PROTOCOLS must be closed. Why does the program that produces the graph have to be closed?? It's not the protocol right???
You've just discovered the *POINT* of the GPL. (Score:5)
Seriously, why would you think that you can freely partake of the efforts of a programmer without giving him some sort of compensation? The author of GPLed code, I'm sure, *rejoices* every time he sees a project GPLed because it used his code. That's what he charges for his code: that people who use it must also contribute to Free Software.
Honestly, I don't think it's moral to used GPLed code without GPLing your product that takes advantage of it, regardless of whether you can find a legal loophole for doing so. Doing so violates the intent of the author.
Jeremy
BSD/GPL -- which are you talking about? (Score:2)
If it is GPL, you're screwed. GPL is about deliberate incompatibility -- it won't co-exist with any other license.
Fortunately, OpenSSH is BSD.
Re:Hmm, you're looking for the OTHER Slashdot (Score:2)
Memo for future reference: The free in free software does not refer to price. It refers to freedom. The theory behind the GPL is to not give people the freedom to make other people slaves. I'm perfectly free to take GNU EMACS and sell it for $20 a copy... I just have to give everyone I sell it to the same rights I was given through the GPL.
Other than that, I find your stance on the GPL (which I personally support, if you didn't guess that already) to be quite a bit better than many GPL bashers here.
-RickHunter
Re:GPL's nature (Score:2)
Molog
So Linus, what are we doing tonight?
A Tale of how the GPL nearly ruined a good tool... (Score:3)
Nicholas C Weaver
nweaver@cs.berkeley.edu
Just cloning the interface (Tetris) (Score:2)
There is nothing wrong with just cloning the interface AFAIK.
Apparently The Tetris Company didn't think so [slashdot.org] for a while and sent cease-and-desist form letters to authors of falling tetramino games. (Eventually, they realized they were pissing in the wind, and only sent letters to the authors of games who called their work "Tetris" in violation of the trademark.)
Like Tetris? Like drugs? Ever try combining them? [pineight.com]
Re:Hmm, you're looking for the OTHER Slashdot (Score:2)
You can be a christian, and believe that it's a swell belief system. But it does restrict my freedom to try to convert and preach to me, or make christianity a requirement for all those you interact with.
No one would argue that that is a good thing. It may seem right to the christian in question, but what if someone doesn't agree with them on moral or philosophical grounds.
To me, it's wrong to force your beliefs on someone else simply because you happen to think it's right. That doesn't encourage freedom, ye, it restricts it severely.
It's a shame that so many so-called "open source" advocates are just as blind and irrationally motivated like many followers of the christian religion.
It's just robbery (Score:4)
I'm planning to rob a bank. If I dress up really decently, and use polite language (and a nice looking gun) while adressing the bank staff, will I get away with it?
It seems to me quite reasonable for the bank to give me some of their money. They've got so much of it.
use the bsd (Score:2)
no, you can't wrap gpl code in a shared library, lgpl it, and say "whoopee, i did it". you would be lowering the license level of the code, which you cannot do.
this is one of the drawbacks of the gpl -- if the fundamental architecture isn't properly thought out, it makes life pretty difficult for *users* of gpl code, which is what you want to do...*use* some gpl code.
maybe that would be a cool thing to do...take the bsd code, and make a nice libssh. you can't lgpl that, though, i don't think, but you could be nice and give it away under the bsd/autistic license.
Huh (Score:5)
But never mind, I assume you wrote this out of ignorance and innocence, and not bad will... so here's the answer:
It seems to me to be quite reasonable to include code from open source projects in closed source projects
...
it would seem to me to be reasonable to open up the code for the protocol, but not the code to make the entire game...that would seem silly
Why?
All I can observe is:
That being said, you are lucky that OpenSSL and OpenSSH are both BSD licensed programs (IIRC) and thus you can do with it whatever you want. But I am really concerned about your attitude towards Open Source. Why the heck is it "silly" to make your own program open? Why on earth did you choose it to be closed anyway?
I know I sound like a hippie father trying to understand why his son joined the army, but please do consider this. Open Source has got tons of benefits (see here [opensource.org] for more info) PLUS idealistic advantages (see here [gnu.org] for more info). Why go closed? Your program would hardly have any impact to the Linux community in closed source form, nor would people contribute to your work, etc.
It's... It's...
Re:Hmm, you're looking for the OTHER Slashdot (Score:2)
Right on. And for those of you who are going to jump on this guy and try to refute it, consider this:
In grade school you were taught the multiplication table and several procedures for adding, subtracting, multiplying and dividing very large numbers.
Together that data and the procedures constitute a kind of program. Now, what if your teacher had told you that basic arithmetic was under the GPL, and that all products using basic arithmetic had to be performed as a public service?
RMS would have us believe all knowledge work should be collectivised. A radical right winger might go so far as to state the opposite (imagine a class full of first graders trying to figure out long division with no help from the teacher). Both sides are obviously wrong. As usual, the truth is somewhere in the middle.
Re:What are you, new? (Score:2)
Completely bogus. I can't "force" you to do anything.
OK then. Microsoft can't force us to do anything either. You must accept that to be consistant.
Yes. You *can* force us to do things. There are already a few things I can think of where the best tool for the job is GPL, and there are no close seconds. Under that circumstance, the choice that we must make is a direct result of programmers choosing the GPL.
Back when only a few people were GPL'ing; your statement about not being able to force people might have been true. Now there is huge and growing market penetration. Now you are no longer the rebels. You are the authorities. You must deal with your power now. Like all rebel movements that come to power, the Free Software movement is likely to be very authoritarian. We'll see.
If it's GPL, ask the author for a different terms (Score:4)
The GPL is pretty clear that you must release all of the code that you link with any GPL'd code you use. Section 2 spells it out about as clearly as possible:
The fact that your application has a requirement to be closed source doesn't give you a right to use other people's code in violation of their license terms. Just because it would "really help" you doesn't change a thing. As far as the GPL is concerned, you're out of luck (at least that's how I read it, IANAL). I personally don't like closed source software, and when I release code under the GPL, I want it to help whoever gets it, and other GPL'd projects, but never a closed-source-friendly code base.
But never is a really long time... copyright does eventually expire, and in the meantime, you can always contact the author and ask if they'll release it to you under a license more to your liking. Offering money probably helps your chances.
Re:Licensing issues... (Score:3)
Heck, someone else might even find your back-end program useful.
You could do what TiVo did... (Score:2)
Then again, we're all a bunch of zealot free software hippies, and I'm sure RMS would complain.
Re:Hmm, you're looking for the OTHER Slashdot (Score:2)
Re:Ironic (Score:2)
Re:There should be no compromise. (Score:2)
If it's all about being free and open why don't we just make everything public domain and not restrict users. If closed-source projects use open-source code, they aren't stealing profits from open-source code because it's open anyways. And if closed-source projects used the open-source code wouldn't that make the closed-source projects better because they are using open, tested code? My flame for today, I guess it's just because of all the licensing headaches I get at work.
More than a political statement (Score:4)
This is really what the GPL is about. It is about making an intentional choice about how your labors as a programmer can be used by others.
I choose to contribute to the GPL software community. I do not choose to give my work away for free. My payment for my work is the other contributions of the other memebers of the community, including those of people who modify or reuse my code. You don't have to contribute to this community if you don't want to, you just can't use our resources for purposes which don't contribute.
Please respect the chooses of other programmers (Score:5)
If they choose to publish under a BSD style license you are free to reuse their code and incorporate it into a closed source product. That was the way the people who wrote the code intended you to use it.
Many of us who publish under the GPL feel differently about how we want our work used. We do not object to others who are contributing to our community on the same terms reusing our code, but we do object to people simply taking our work and using it as a free ride. When you release derived works under the GPL you are in a sense paying us for our work by enriching our community. When you simply take our labor and use it in your closed source product you are stealing our work as surely as someone who pirates your closed source software is stealing yours.
Please respect the wishes of those of us who choose to contribute our time, efforts, and talents under the GPL and respect both the letter and the spirit of that license.
Re:Use vs. distribution (Score:2)
Well, I'm talking about the version that I distribute to other programming-challenged pilots here. I'm quite aware that I can use whatever GPL code I want however I please for my own software
Re:variod (Score:2)
Well, that certainly does make a lot of sense. But where exactly is the line drawn here? If I can use HTTP, can I use platform specific IPC, like AppleEvents? Can I link directly to a shared library? Can I link to a static library?
Pardon me if the GPL specifically addresses what level of plugin integration is allowable somewhere, but I've never noticed it if it does...
Re:What are you, new? (Score:2)
The immediate reason is that there isn't a clean separation between the device-communicating code and the rest of it, so the easiest way to avoid any kerfluffle with FAI is to keep it all closed.
I certainly could put the device code into its own library/daemon as people have suggested, and it seems that there's some level of separation of the two at which the GPL would be technically adhered to in the main program -- but that strikes me as obviously subverting the spirit of the GPL so the GPL crusaders would still be mad with me anyway. *shrug* I'll probably give it a try next time I do a major rev and see what happens...
Re:What are you, new? (Score:2)
The way that aerial records work is that you submit the documentation to them along with the instrument you carried on the flight, and they and ONLY they open up the instrument and see if its recordings match your claims.
It's easy to tell if a device has mechanically been tampered with, not so easy to tell if its been electronically tampered with, so the advent of communications-enabled varios got them in a bit of a snit. The current status is that a very few electronic varios are certified, but under strict conditions about who is allowed to know what the protocols are.
Yes, it's security through obscurity, yes it doesn't stop you or me hacking the device for a second, but pointing that out to them would not let us open the source, it would just make them decertify electronic devices. People who buy these things wouldn't find that a worthwhile tradeoff, trust me on this one.
Re:What are you, new? (Score:2)
"2.6.3 Memory used for flight data. The memory used for storage of the flight data to be used in the flight verification process should be of a type and design so that it cannot be accessed, combined (such as in a storage device with software partitions), altered or corrupted by other data legitimately or otherwise present in the equipment..."
Their interpretation is that allowing public disclosure of the protocols is an unacceptable risk of contravening the above provision.
Re:What are you, new? (Score:2)
Well, that's the whole problem -- I *DO* want other Ball owners to use it. If I didn't the GPL wouldn't be any kind of a concern, I know.
As for the driver thing -- I thought that would be unacceptably subverting the spirit of the GPL, but it certainly seems that most people think it'd be fine. I'll probably do that next rev then
Re:More than a political statement (Score:3)
*rolls eyes*
Geez, didn't you READ what I said? I would LOVE to contribute to the community everything except that which I may not through the dictates of an outside agency, which is maybe fifteen hundred lines out of forty-thousand odd lines of code.
Thus the terms of the GPL result in the community getting nothing instead of 38500 lines, for lack of that last 1500 lines. Which strikes me as silly.
Now how do you get from "FAI will not let me release this one small part of the total, so I won't because I can't, the rest I'm fine with" to "I don't want to contribute to this community"? I don't see it.
What are you, new? (Score:5)
I see you're new here
What you're missing is that the GPL is a political tool, not a source code license.
As a source code license, of COURSE it is utterly ludicrous that you should have to open up source code unrelated to what you're using.
As a political tool, hey, whatever you can get away with to force other people to release THEIR code, no matter that it has nothing to do with YOUR contribution.
This also puts me in an annoying situation. I write free-as-in-beer software to download flight data from the Ball Varios [ballvarios.com] variometers. Now, there's a number of GPL projects it would be nice to include code from, graphing libraries for instance; but if I did, I would have to open ALL the source, which includes the part that communicates with the hardware device, although that obviously has nothing to do with a graphing library for instance.
This is a problem, because the Ball varios are certified by FAI as being acceptable as documentation of a world record flight. And one of FAI's conditions for that certification is that the protocols for communicating with these devices may not be made public. Which means, not releasing the source code containing those protocols. Which means, I can't use any GPLd code at all, no matter how completely unrelated it is to the actual problem and how perfectly willing I'd be to contribute back any work I did to the source I used.
So my users lose out on functionality they'd get quicker otherwise, and the Open Source community loses out on the work I would put towards something licensable.
Now whose interests exactly is the GPL serving here? Nobody's that I can see.
(Don't bother saying "change FAI's mind". They have no motivation to do so whatsoever; there's no way you'd ever get even time to explain the CONCEPT of Open Source, never mind why their certification process should accomodate the GPL...)
Re:What are you, new? (Score:2)
This is easy (Score:3)
If you want to ditribute this for no benefit to you/your company, then you'll not have any problem in distributing the source code.
If you want to distribute this project for your own benefit (which may or may not involve money) then you have a moral responsibility to share the code because your code has only come into existance because someone else shared their code with you.
That's the morality of it; the legality of it is that any project which depends on GPL'd code (source or binary) to work must be GPL'd too. "Depends" on here means that the GPL'd section is either the basis of actual code or so important to the project that it must be offered by you to the users of the project.
An interesting legal point here seems to be that if you are so sure that the GPL'd parts are already available to the user that you can refuse to supply them, then you need not GPL your own material. So a binary for *nix which calls the "touch" command need not be GPL'd unless you distribute it with the binary or code for "touch". Seek legal advice before trying this approach.
If you have a problem with this then don't use other people's code (at least people that release code under the GPL).
Those /.ers who are comparing this with DVD are skipping the morality section and the legality angle.
No one sane is arguing that copying movies and/or music and distributing the copies without permission is right or legal. It has never been either. But preventing fair use (ie I make a copy of a CD to listen to in my car, or a copy of a DVD on my hard drive so I can play it back under Linux) is not moral or legal (really, it's not legal according to US law, getting a judge that understands this seems difficult though).
Revolutions occur when the gap between moral and legal grows too wide for too many people.
TWW
Re:Hmm, you're looking for the OTHER Slashdot (Score:2)
If you don't like what GPL allows, don't use it. Write your own license, don't borrow others'.
Re:Licensing issues... (Score:2)
I asked this because this complicates having commercial DLL plugins to a GPL program.
The answer is no, only commercial DLLs that come with the OS are allowed.
The BSD-license zealots will try to twist this question in a pro-BSD statement. Don't forget that a BSD license means that a company can take your package, start developping it commercially, put some FTE's on it and rob you from all your users,
(they send them patches and bugreports), make it uninteresting for your sponsors etc.
Not always that likely, but surely something to be kept in mind. (And I say this as a BSDer)
GNU/BSD License Issues (Score:2)
Well, OpenSSH and OpenSSL are under the BSD licesnse, I believe... so you shouldn't have a problem.
You can do what you want with BSD-licensed programs, so long as you credit the original author in the manner described in the license. Closed source or not, you just need to make a copyright notice available. Read it carefully to make sure you are in full compliance. But certainly, you can use it in closed-source software.
GNU-GPL code, on the other hand, is a different issue. Being a complete asshole, RMS will probably track you down and cut your penis off if you include GPL'ed code in a closed-source project. I think the only way out of this unpleasant situation would be to make the GPL'ed portions of code available separately, with source available.
Maybe now it becomes clear that RMS is a hypocrite... He professes the greatness and necessity of free software, and then he proceeds to restrict it with his own license.
This is one reason, albeit a minor one, that I switched to FreeBSD. Better license, better code (more stable, longer USB support), and the ability to run Linux binaries.
PS -- Sorry if you're a woman, making that penis comment. If you are a woman, he'll probably take your left breast instead.
A new year calls for a new signature.
GPL's nature (Score:2)
That's one aspect. The other aspect is 'freedom', in the sense that having bought a copy of NT, or 9X, I should be able to tinker with it, in the same way that if I bought a Ford or Chevy, I can pop open the hood, tweak the manifolds, bores, or just do my monthly maintainence, without *having* to go to the mechanic, if I am so skilled or inclined.
NT or 9X is not so generous towards us. We bought it, but we cannot tinker, fix, or modify.
Your scheme of a giant shareable code-base that others can use as they see fit is equivalent to a world where everything is GPL, in the sense that all the code is out there, and everything is open sourced, and anyone can tinker, load, compile, modify, etc.
The minute your world of shareable code starts to hide and obscure code is the minute the GPL would kick in to force the world to *remain* shareable code.
Yet without the GPL as an enforcing mechanism, what would stop the shareable code base from evaporating with time, as people keep developments and changes private and proprietary?
The GPL is one method towards which we can attain this giant shareable code base, as well as a method towards which we maintain it's status.
Otherwise, if there were no clauses of returning code to the public benefit, just through attrition and age, code would probably just disappear with time.
Geek dating! [bunnyhop.com]
whining about licenses (Score:3)
In fact, GPL is a license like a binary-only license, only that you get a much better deal: not only do you get the executables, you also get the source code. You can even redistribute it, and you don't have to pay for it. And if you want to reuse the code commercially, you can license it from its author.
But that doesn't make the GPL a "political tool" (a political tool for what, one might ask?) any more or less than it makes your favorite binary-only, costly, we-own-your-firstborn-son license a political tool. At best, one might argue that the GPL is used as a marketing tool by some companies.
As a political tool, hey, whatever you can get away with to force other people to release THEIR code, no matter that it has nothing to do with YOUR contribution.
You aren't forced to do anything. If you don't like the license, don't use the code and don't contribute to it. In fact, in some cases, I would fully agree that it is a bad idea to base one's software on a GPL'ed library.
intent is pretty clear (Score:4)
There are a bunch of pragmatic exceptions to that rule, involving "system libraries". But it is unlikely that authors who placed their code under the GPL intended those exceptions in your case. Even if you can legally get away exploiting a loophole in the GPL, I would consider that unethical.
If in doubt, contact the author and have them clarify any ambiguities in writing. They may ask you to sign a separate commercial license and pay for it. And, given that you intend to charge for your software, you should be happy to pay for their software.
If it's covered by the BSD license, the intent and letter of the license should be clear: you can almost certainly use it.
Re:Hmm, you're looking for the OTHER Slashdot (Score:4)
No, they aren't irrational or blind. They simply equate "open source" with "free". As many have pointed out, open source != public domain, and they don't understand the difference. Or more likely, don't care, as long as they get what they want.
they're people who want the advantages of open source, but not be part of the open source community. They're software lurkers.
I have issues with GPL -- but I abide by it, or I don't use it. If I had serious issues with it, I wouldn't use it at all, or I'd work within the system to fix the problems.
You don't cut a PO for open source. You pay for it by (a) abiding by the licenses, and (b) paying forward back into the community with sweat equity of some sort -- at least in theory. Many do, and that's why open source works.
Open source is no more free than microsoft code it. the price of purchase is simply different. People who grab open source and abuse the licensing terms are just as much pirates as those who grab Windows and post it to the Warez sites.
There should be no compromise. (Score:3)
Personally, I do not hold with principles or morals, but I try not to rile others unduly. What is the point? If you feel the same, you should have a similar attitude.
You know exactly what to do-
Your kiss, your fingers on my thigh-