Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
GNU is Not Unix

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?"
This discussion has been archived. No new comments can be posted.

Using GPL/BSD Code In Closed Source Projects?

Comments Filter:
  • You wanted to be corrected in case you were wrong, so here goes: On this page about why the GPL is good [gnu.org], RMS specificly gives the example of someone wanting to use (i.e. interface with) readline (which is under GPL) and not being allowed to do so until he put his own work under the GPL too.

    --

  • Sounds like you're hosed, and FAI is hosed. That's your problem- better develop what you need yourself, or get it from BSD-licensed stuff. You obviously can't use GPLed code. I've written some GPLed code (not that you'd find it useful, you wouldn't) and I wouldn't want you using it under those conditions. If I wanted people to just _use_ what I did, I'd have made it public domain...
  • Well, the point of the GPL is that it's a fair exchange of code. I give you my networking code and let you use it, and in return you give me your chess code and let me use it.
  • It is clear that if you create a program that uses GPL'ed code, you must release that program under the GPL.

    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

  • 'mtx', 'tapeinfo', etc. are called from within BRU Professional (via ye olde fork/exec). No more a violation of GPL than calling GNU 'ls' from within a shell script that installs your proprietary program.
  • If you do not accept the GPL, then you have no right to modify or distribute the program. Has nothing to do with click-thrus. Click-thrus take rights away from those provided by copyright law, while GPL adds rights to those provided by copyright law (specifically, the right to modify and distribute the program). If you choose not to accept the GPL, you're stuck with what copyright law says -- which is that you cannot distribute the program.

    -E

  • by Eric Green ( 627 ) on Monday January 22, 2001 @06:53PM (#489671) Homepage
    One thing to bear in mind is that this is Unix. Unix was conceived under the principle of "many small programs chained together". There is no reason why the communications protocols involved in a chess game cannot be created that same way. If I can do it for a tape server [estinc.com], I don't see why it couldn't be done for a chess server. And if the program is many small programs chained together, then those small programs that happen to include GPL'ed code can be released as GPL'ed programs without compromising the closed-source nature of the rest of the system. Everybody wins. People who want more GPL'ed software get more GPL'ed software, you get to use that GPL'ed software yourself from your non-GPL'ed software, and you get a more reliable architecture to boot (since a Unix-style "many small programs chained together" system can be MUCH more easily tested than some big monolithic monstrosity -- each component can be tested independently to insure proper operation).

    -E

  • by Eric Green ( 627 ) on Monday January 22, 2001 @06:39PM (#489672) Homepage
    If you look under my name at Freshmeat, you'll see that I "officially" have three projects. Each of those projects is actually an Open Source program that was either adapted from an already-GPL'ed program for use in a closed source program, or was created as a component for a Closed Source program. Thus 'aescrypt', 'mtx', and 'ocotillo' all exist as stand-alone programs usable by other people, but also are used as components in our product to handle encryption and tape library management.

    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

  • by Eric Green ( 627 ) on Monday January 22, 2001 @07:19PM (#489673) Homepage
    I am the maintainer for mtx [sourceforge.net], the Linux/Unix tape library control program. One of the first things I did with 'mtx' when I took over its maintenance was strip out the pieces that did the actual controlling of the hardware into a library module 'mtxl.c'. However, each and every program that I have written since then that uses that module -- 'tapeinfo', 'loaderinfo', and 'scsitape' -- has been required to be published under the GPL, because 'mtxl.c' (as a bunch of GPL'ed code stripped out of an existing GPL'ed program) requires that all programs that use it be themselves GPL'ed.

    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

  • Posted by polar_bear:

    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.

  • The GPL is of course a license, and it takes a special kind of brain damage to think it isn't. But it's a license designed to achieve RMS's tool of maximising software freedom, so it's a political tool to that end.

    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.
    --
  • Or, put all the GPL'ed code into a stand-alone executable, which is itself GPL'ed.
    Of course, while this may be legal it is most certainly not in the spirit of the GPL. Some people will take offense if you do this, and rightfully so -- you are using their code in a manipulative and dishonest manner. Other people may not care.

    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.

  • by crayz ( 1056 )
    What he is saying is he'll take the code, make small changes/additions, and use it for networking in his game. He says he's fully willing to give you the changes/additions he makes.

    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)
  • You are right, of course. Your code is yours and nobody's else. But: if you are accepting this position, like "I give my code to whom I want, and only to those", why calling it "free software" and brag about how much code reuse and public good GPL libraries bring? Say "this library is GPL-proprietary software, only members of FSF political circle may use it", and be good. But calling "free software" something that anybody who slightly disagrees with FSF cannot even touch - that's a gross exaggeration if I ever have seen one.
  • Now my Open Source ignorance is going to shine through. I am a huge advocate but I have to admit that I get lost in what I see as grey areas.

    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?
  • by slim ( 1652 ) <john@hartnupBLUE.net minus berry> on Tuesday January 23, 2001 @02:44AM (#489686) Homepage
    Aside from the fact that both the products you mention are BSD licence, meaning you can do what the hell you like with the code as long as you retain the author's copyright notice -- let's just explore the hypothetical situation if they had been GPL code.

    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...
    --
  • by Millennium ( 2451 ) on Monday January 22, 2001 @05:47PM (#489687)
    If it's BSD, all you have to do is give proper credit.

    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.
    ----------
  • by Matt Lee ( 2725 ) on Monday January 22, 2001 @06:00PM (#489688) Homepage

    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.

  • The GPL exists to protect the authors of Free Software from having their work stolen (yes, I said "stolen") by people who aren't willing to give back to the community

    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.

    Seriously, why would you think that you can freely partake of the efforts of a programmer without giving him some sort of compensation?

    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?

    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.

    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?

  • The GPL exists to protect the authors of Free Software from having their work stolen (yes, I said "stolen") by people who aren't willing to give back to the community.

    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.
    ___

  • What graphics libraries are you talking about? The biggies are either freely distributable (SVGAlib, Xlib) or allow you to link to their libraries, OSS or not (Mesa [XFree86 license], GTK et al [LGPL]). Granted, Qt's licensing scheme is a little retarded, but GTK is superior in many ways anyways.

    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 :)

    --

  • by astrashe ( 7452 ) on Monday January 22, 2001 @05:44PM (#489701) Journal
    Why don't you buy the commercial version of SSH? You can pay your way, and your customers can pay theirs, and eveyrone will be happy.

    If you're unwilling to pay yourself, then maybe you should reconsider your model.

  • 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!"

  • 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!"

  • The true benefit of BSD code is that you don't have to publish your source if you use somebody else's code.

    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.

  • Could be smart and write a small helper-application that is completely open sourced and then use that application to do what you like. Given the likely uses of SSH I doubt anyone would be pissed if you wrote a program to simplify tunneling protocols (even more) that was opensourced and then just passed your data to that in the background. It's no different than a commercial program that runs a bash shell script to do something so it should be okay. If the program happens to be tuned for what you need then oh well - if it's opensource and useful others will tune it to their needs too.
  • Actually, I think it's the GPL people who are assuming there is an intrinsic right to use code. That's the whole point of "free" software, after all.
  • I can only assume Dan is planning on compiling a high-tech spam list with the email addresses from all the flames he gets.

    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).

    ---------------------------------------------
  • You know, if you are so impressed with the quality of the OpenSSH/OpenSSL code that you want to use it for your own projects.... you might consider that the code quality is a product of both programming skill, and peer review. If you hope for your own projects to have a similar quality of code, you might consider not just copying the code from those projects, but also emulating the development process they've used.

    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

  • 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.

    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.

  • 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
  • by Black Parrot ( 19622 ) on Monday January 22, 2001 @06:23PM (#489727)
    > 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.

    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.

    --
  • by WasterDave ( 20047 ) <davep AT zedkep DOT com> on Monday January 22, 2001 @05:59PM (#489728)
    AFAIK, IANAL and all that.

    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

  • There's no reason to disallow GPLed code, except for license nazis who hate RMS.

    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.
  • Nobody would be upset if you did all you could to release as much source-code as possible. Especially if you were hampered not by YOUR desire to keep the code closed, but by that of a clueless company.

    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.)
  • OpenSSH and OpenSSL both fit under variants of the BSD license. The only place the GPL is mentioned in either one is in OpenSSL which specifically DENIES the right to relicense under GPL. Out of the 33 posts ATM, a good dozen or so are about how to include GPL stuff in payware. What part of BSDL don't all of you understand? As far as the inclusion of BSD licensed stuff in payware, Microsoft did it with the early versions of their TCP stack (up until win2K), BSDi does it regularly, and HP is still doing it for now. Mostly it involves making sure that copyright notices stay intact and ensuring that the Copyright holder (often the Regents of UC Berkeley) gets credit where credit is due.
  • "If you use MY code, you go with MY license!" - Wait a second. Why can we say that and not be hypocritical? I want to use a DVD player. The DVD industry insists that the discs I use be encrypted. I want to watch THEIR movies, shouldn't I agree to THEIR license? What about Napster? I want to listen to THEIR (the artists') music, should I obey THEIR wishes?

    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...
  • Regrettably, it is now well-settled law that the loading of a computer program into RAM constitutes a "reproduction," of a copy, or copying, under 17 U.S.C. s. 6, which, if unlicensed, constitutes an infringement.

    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.
  • Just a note, regarding the level of plugin, the GPL does actually specify at least one point I believe, which is that code of any license can interact with it if the GPL code is entirely contained within a standalone executable or some such, I suggest a careful look around the FSF website, but examples put forward earlier such as Netscape Mail using gzip, etc, suggest that you could do it with only a little work.
  • why dont you go and get a law degree. It could make your practice.
  • 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.

    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.
  • commercializing != closed source.
  • bah.. if the Microsoft EULA (which basically declares that you have agreed to the license before you even read it) can stand up in court, so can the GPL. Copyright is lame, outright.
  • I cant say I agree that GPL forces anyone to open their code. Indeed it does use the force of the state, so this is debatable, but I tend to think that GPL is about not wanting to aid other people in writing non-free software. This would be because non-free software is considered a Bad Thing in that it reduces freedom and causes social harm. Now RMS is not coming out and saying "Thou shalt not harm others with non-free software" (although I wouldn't be suprised if he did say this), he's just saying "If you want to go and build fences and hurt people you can do it without my help and without the help of free software".
  • Say "this library is GPL-proprietary software, only members of FSF political circle may use it", and be good. But calling "free software" something that anybody who slightly disagrees with FSF cannot even touch - that's a gross exaggeration if I ever have seen one.

    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.

  • ofcourse Napster and using GPL in closed source are two different things in copyright law:

    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
  • Not that I encourage this, but there is a very elegant way to do this with SysV IPC. Just create a "server" using the library and have it respond to messeges.
  • (Assume that I'm the author of the aforementioned code. I'm not, but...)

    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.
  • Which doesn't mean you should do what you are talking about, only that you can.

    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.

  • But never is a really long time... copyright does eventually expire

    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.

  • Just curious, why? I personally like public domain a bit more than GPL myself, but I'm also some kind of nut.

    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?)

  • 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.

  • And all versions require copyright reproduction. But with online help documents and thick manuals, that's really not too hard.
  • by MostlyHarmless ( 75501 ) <artdent@[ ]eshell.org ['fre' in gap]> on Monday January 22, 2001 @05:57PM (#489779)
    The GPL is designed to prevent exactly this. While the BSD and, to a lesser extent, the LGPL, has a main purpose of seeing the code in use, hopefully in a free way, the GPL has a main goal of making as much code open as possible. In this, it sacrifices the convenience of the developer for freedom. While this is a goal that you may or may not agree with, it is one that you should respect before trying to use GPL'ed code in a closed application.

    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.


    --
  • by AugstWest ( 79042 ) on Monday January 22, 2001 @06:29PM (#489781)
    The only purpose of Open-Source is not having, well, open source. It's also about code sharing. It is communistic and down-right lame to expect everyone to follow the same license. Not everyone wants to make open-source software.

    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.
  • The GPL is in it's most simple for a legally-enforced virus. It's a nasty way of spreading the socialist ideals of a certain organization run by Richard M. Stallman.

    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

  • by mr ( 88570 )
    I thought the U of Berkeley removed the advertising clause to their license. This was covered on /.

    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.

  • by mr ( 88570 )
    No, the original poster is *NOT* correct.

    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.

  • Of course it is. There are tons of closed source user land apps. Every moron looking at some internet appliance running Linux claims it's a GPL violation. It's obviously not as long as they contribute back and distribute and modifications they made to GPLed code. They have NO obligation to make their proprietary client/interface/whatever app that runs and makes a pretty X interface for their appliance/ TV recording device/whatever accessible and fun to use and it probably wouldn't benefit many people if they did anyway.
  • The true benefit of BSD code is that you don't have to publish your source if you use somebody else's code. Depending on the version of the BSD license you may have to obey the advertising clause, but other than that you're home free. Nothing to give back _ever_.

    --
    Eric is chisled like a Greek Godess
  • 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.

  • I know it might be off topic, but your interpretation of this FAI rule sounds dumb. If you are using a device and software to take measurements for indicating a world record, why would you NOT want the software to be public anyway? If it's closed, how can one repeat the same experiment??? Am I the only one that thinks this makes no sense?

    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???

  • by jemfinch ( 94833 ) on Monday January 22, 2001 @05:56PM (#489798) Homepage
    The GPL exists to protect the authors of Free Software from having their work stolen (yes, I said "stolen") by people who aren't willing to give back to the community.

    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
  • If you're dealing with the BSD license, you're fine. BSD is about Open Source: The source code is there, it is open, and you can do what you like with it.

    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.
  • 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
  • A good question. Why would anything get developed if there was no money in doing it. Many open source projects tend to be fun things to work on. There are some things that aren't as fun, but mostly the programmers work on what they want to work on. There are some things that just aren't that fun, like avionics, database programming, and stuff like that that businesses need. If there is a need for anything, there will be money spent on developers to make it. For this reason programmers will always have a revenue stream because of projects that a business needs to have that isn't available. If open source does anything it will just kill revenue for the fun programming jobs but even then I doubt that will ever happen as a new way to make money would be found.
    Molog

    So Linus, what are we doing tonight?

  • GPL/BSD, whatever floats your boat, it is your code, do whatever. But I personally believe that the GPL can be dangerous, as it actually discourages the reuse of code. And this can seriously hurt a program. Here is an example: Bison is a wonderful tool, a really nice LALR(1) parser generator, and far superior to YACC. However, when you use Bison, it includes a large quantity of code in order to create the parser generator used by the program. 7 or 8 years ago, Bison was under the GPL, and, since it includes a good hunk of itself in any program compiled by bison, the output of Bison was under the GPL. Therefore any program which used Bison to construct it was under the GPL. As a result, nobody used Bison, outside of GCC and class projects. Since then, they changed Bison's liscence so the output is under the LGPL. As a result, it can now be used as a general purpose tool, like GCC.


    Nicholas C Weaver
    nweaver@cs.berkeley.edu
  • 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]
  • Right on! It's like this:

    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.


  • by joostje ( 126457 ) on Monday January 22, 2001 @11:46PM (#489825)
    Dear slashdot,

    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.

  • there should really be a lgpl libssh around, but i guess they never made one.

    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.

  • by Pflipp ( 130638 ) on Monday January 22, 2001 @06:09PM (#489829)
    This is the first time I see such an obvious troll making it to a Slashdot topic... usually only the comments are so low...

    But never mind, I assume you wrote this out of ignorance and innocence, and not bad will... so here's the answer:

    1. BSD licenses allow you to do with the code whatever you want. Read the license. That's what it says.
    2. If you start doing ANYTHING with GPL licenses like you just described, it will NOT be appreciated. Fear for your life if you do so. Run.

    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:
    1. You make a game and call it your own, while you use code from other people in it. If this code is GPLed, it is given to you with a statement like "do with it what you want, but please don't be so unthankful to keep your changes to yourself". And here you are trying to construct a way around that promise --> that's silly!
    2. It doesn't seem anything like reasonable to me to use the code of an open source project in a closes source one unless it is really how the creators of the OSS meant it to be. People develop this stuff with idealistic reasons in mind, not opportunistic reasons.


    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...
  • 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.

  • 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.

  • I've written some free code, some I've released into the public domain, other code as GPL. Sometimes I've chosen the GPL specifically because I did not want to see the code ever used in any closed source application, at least for free. For most of the GPL'd code I've ever written, I'd probably dual-license for a reasonable royalty, but not for free.

    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:

    2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
    • a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
    • b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
    • c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
    It's hard to speak for other authors/programmers, but it's been my impression that many choose the GPL specifically because of these terms.

    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.

  • by Tassach ( 137772 ) on Monday January 22, 2001 @06:06PM (#489837)
    Or, put all the GPL'ed code into a stand-alone executable, which is itself GPL'ed. Your closed-source program can then call the GPL'ed back-end. This should be perfectly acceptable under the GPL; if this were not the case, it would be illegal for a closed-source mail program (Netscape, for example) to use a gpl'ed program (like gzip) to open an attachment.

    Heck, someone else might even find your back-end program useful.

  • TiVo is closed source, but they open-sourced the modifications they made to open source code.

    Then again, we're all a bunch of zealot free software hippies, and I'm sure RMS would complain.

  • Bloody communists. Next they'll be expecting Alan Turing's relatives to drop the license payment they expect from everyone who builds a computer.
  • It's not about cash. Stallman initially created the GPL after he had some problems with closed-source software that the manufacturer refused to fix. He didn't want this to happen to anyone else, so he decided to create his own versions of the Unix tools with the source code freely available so that anyone who used them and wanted to customise them, could, without an corporation making commercial decisions as to what needed to be changed. The GPL doesn't preclude making money from their software, it just means that the people you sell it to have the right to customise it for their own use.
  • The GPL is all about being a hypocrit. Open source zealots don't like how you can't benefit from closed-source projects so they will make sure closed-source won't benefit from open-source either. I know that on the project I work on the licensing creates way too many headaches.

    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.

  • by hagbard5235 ( 152810 ) on Monday January 22, 2001 @06:11PM (#489847)
    The GPL is more than a political statement. It is a choice that I or another programmer make about how their work is to be used. I am sorry that the terms of the GPL hinder your work, but you have no more right to demand to use the code that I or any other programmer who published under the GPL writes for free then you have a right to force your plumber to work for free or your doctor to work for free.

    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.
  • by hagbard5235 ( 152810 ) on Monday January 22, 2001 @06:00PM (#489848)
    When code is published under an open source license it is a choice by the programmers writing that code to make it available to others under a specific set of restrictions. It is wrong of you to try to take the work of those programmers and use it in ways they explicitely do not approve of by virtue of their choice of licensing agreement.

    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.
  • I fail to see how GPL can constrain you as long as you don't distribute your software.

    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 ... I would just prefer to write software that my fellow pilots can use too.
  • You write a closed-source daemon that talks to the hardware and exports the data via HTTP or RPC or whatever interface style you happen to like.

    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...
  • is there a reason why you can't just release those 38500 lines of code as open source?

    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...
  • If you are using a device and software to take measurements for indicating a world record, why would you NOT want the software to be public anyway?

    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.
  • They are the administrative implementation of 2.6.3:

    "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.
  • And, if you're not distributing this application, what difference does any of this make?

    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 :)
  • by Snocone ( 158524 ) on Monday January 22, 2001 @07:58PM (#489856) Homepage
    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.

    *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.
  • by Snocone ( 158524 ) on Monday January 22, 2001 @05:56PM (#489857) Homepage
    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?

    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...)
  • not trolling, but asking seriously... is there a reason why you can't just release those 38500 lines of code as open source? Sure, the GPL keeps you from being able to use GPL'd code in your project, but how does it keep you from releasing your own code, say under a BSD license, which you seem to prefer? Really, just curious.
  • by nagora ( 177841 ) on Tuesday January 23, 2001 @02:41AM (#489869)
    If you are doing the project for your own/your company's own use then there is no problem.

    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

  • If you don't believe in the GPL, don't use code that goes by it.

    If you don't like what GPL allows, don't use it. Write your own license, don't borrow others'.

  • I mailed GNU about this, and according to RMS .DLLs don't count as shared libraries, since you can obtain the adress and call it directly.
    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)
  • 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.

  • Noble? It seems emminently practical if the whole world were Open-Source. If NT or 9X is giving you one too many BSoDs, you can fire up your VC++ debuggers, your MingWin devtools, your VI editors, and actually fix, debug, and diagnose your problem.

    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]
  • by q000921 ( 235076 ) on Monday January 22, 2001 @08:45PM (#489900)
    What you're missing is that the GPL is a political tool, not a source code license.

    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.

  • by q000921 ( 235076 ) on Monday January 22, 2001 @06:25PM (#489901)
    The intent of the GPL license is pretty clear: if you "use" the code, you should open source your own code.

    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.

  • > It's a shame that so many so-called "open source" advocates are just as blind and irrationally motivated like [... dropping the religious flamebait..]

    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.
  • by Urban Existentialist ( 307726 ) on Monday January 22, 2001 @05:50PM (#489925) Homepage
    The application you mention would be fine in an Open Source environment, IMO, but is not the sort of thing we want to happen under the GPL. The GPL is all about principle, the principles of the founders and those who wrote the code would not, I suspect, allow you to do this. From a moral perspective, would you feel right doing this? Or are you just trying to find loopholes in the law? You must think very carefully about your motivations with such an issue.

    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-

"If it ain't broke, don't fix it." - Bert Lantz

Working...