Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Linux Software

On the GPL and Releasing Source Code 178

wally@smug asks: "I work for a company that is developing a computer-based hardware product. For the O/S, we are (of course) using Linux. The GPL issue is this: the hardware and software are set up for a specific set of tasks, and users fiddling with the software setup would be a bad thing (and a potentially huge source of returns of "faulty" products). So users will not have an account or root password given to them (as it's not required to use the product). However, it's still Linux, and it's still under the GPL. So, we are distributing the Linux binaries, and so there has to be access to the source and we'd like to avoid having to distribute a Source Code CD with every system." Are there other options that might work? Would a visible web page with links to the source code be sufficient?

wally@smug continues: "We'd like to avoid having to ship a CD-ROM of source code with each product, so using a web site is the best solution for us. Obviously, for GPL programs that we have modified, we are going to have to release the source code on our website. That is pretty much clear.

The tricky part comes to the distribution of the source for everything else on the unit.

If we used (for example) Red Hat Linux, it is my understanding that we can not just link to the source on the Red Hat website, as Red Hat is a "commercial" distribution. Is this correct? (What exactly constitutes "commercial" under the GPL anyway?)

Or is section 3. (c) of the GPL talking about us being commercial, and not the original distribution? Of so, is our distribution "commercial" or not? (We are really selling the hardware unit and our own custom software that drives it, and not the distribution...)

How about if we just obtained each program/item from their original source on the web, and not from a distribution? Can we then just use hyperlinks to the source?

Ideas and comments would be greatly appreciated. "

I figure there will be a lot of future Linux-based solutions that will follow a similar model and, rather than being a computer that you control, will be more of a turnkey product that you buy and use (while the vendor is responsible for things like maintenance and administration). So for setups like this, source distribution becomes a bit of a problem (and a considerable nuisance to the vendor). What are ways such vendors can distribute such products yet still remain compliant to the GPL?

This discussion has been archived. No new comments can be posted.

On the GPL and Releasing Source Code

Comments Filter:
  • There is no need to include the source with every CD, as long as the source is available for a nominal fee or via FTP. With a lot of the Linux distro's you do not get the source (except for the kernel which is a must) but you can get the source from their FTP servers or from an expanded set of CDs.

  • The GPL does NOT state that the source code must be included with the distribution (otherwise things such as RPMs and other forms of binary distribution would be illegal) It only states that the source code must be available upon request for at least 3 years.

    "Software is like sex- the best is for free"
    -Linus Torvalds
  • by Cee ( 22717 ) on Sunday November 21, 1999 @10:46PM (#1513418)
    3. You may copy and distribute the Program (or a work based on it,
    under Section 2) in object code or executable form under the terms of
    Sections 1 and 2 above provided that you also do one of the following:

    b) Accompany it with a written offer, valid for at least three
    years, to give any third party, for a charge no more than your
    cost of physically performing source distribution, a complete
    machine-readable copy of the corresponding source code, to be
    distributed under the terms of Sections 1 and 2 above on a medium
    customarily used for software interchange; or,

    So you can use section 3b instead of 3c if you for instance have an ftp or web site up at least three years from the release date containing the source code.
  • You can actually make money off GPL.
    Here's how:
    Release binaries.
    Have source only available on CDROM's
    Have a mandatory 'insurance' package for shipment and only release the source CD's by mail order
    Still legal and GPL'd.. but dishonest :)
    This is explained in the GPL as well..
  • Thought I should clarify that a bit more because I know someone is going to post this same comment.
    The GPL states that you can only make the money from the cost of shipment, it costs a lot more to replace damaged CD's, most other places automatically put an insurance clause in the price of shipment.. same thing but just don't insure through UPS or whatever, but replace all the ones that break.
  • by Anonymous Coward on Sunday November 21, 1999 @10:58PM (#1513423)
    after all, the gpl doesn't really take say, embedded applications, where the end-user might not be able to modify the code in any significant way, into account. Is that a violation? I don't know---and I don't think anyone at the FSF has thought about it much. Incidentally, source code CD-ROMS for a nominal fee are probably the best approach in the scenario I've understood here.
  • My understanding is that as a provider of binaries that you must also provide sources. These sources can either be:

    • Shipped with the product.
    • Separately shipped for a nominal fee covering copying costs to anybody so wishing to receive them, irreguardless of their purchase of the original product.
    • Made publically available over the web for all to download from your own servers or servers you contract to provide it.

    I belive there is a minimum number of years you need to make the sources available if you choose not to ship them with the product.

    If I was shipping a product, I'd cut a CD-ROM and ship it with the product even if the product dosen't have a CD-ROM drive. It's cheep ($2.50 max, quantity 100) and satisfies the GNU Copyleft License. It provides adherence to the GNU Copyleft License. If somebody wants to publish the code on the web, they can purchase your product or get a copy of the CD-ROM from somebody who has and do so at their expense, not yours.

  • I'm curious how this is dishonest. Unless every damned distro is dishonest. The insurance package is a bit far fetched, though as the cost of a blank CD is trivial. Anyhow it's unnecessary, you can make money off the GPL period. No undocumented APIs required :) All the GPL does is make the market extremely competeitive. Now, hands up, tell me who wouldn't like to see the software market evolve already.
    "Computers should be ... tools... (siglim 120 chars)" Like cars... to the office no more no less.
  • by DanMcS ( 68838 ) on Sunday November 21, 1999 @11:14PM (#1513426)
    ... the hardware and software are set up for a specific set of tasks, and users fiddling with the software setup would be a bad thing (and a potentially huge source of returns of "faulty" products). So users will not have an account or root password given to them (as it's not required to use the product).
    Others have pointed out the ways you can distribute the source without using a source cd, so I won't bother that one. One of your other problems seemed to be that you were afraid that easy access to the source would encourage clients to tamper with the setup, and then complain that your product stopped working right. You are apparently shipping to a set of clients who are not overly concerned that they will not have root access. Are these people that will be inclined to muck about with the software on these boxes? Even if they did, couldn't you legalese something to the effect of "screwing with the box voids your warranty"?
  • Separately shipped for a nominal fee covering copying costs to anybody so wishing to receive them, irreguardless of their purchase of the original product

    Not sure about this - where does it say I have to ship source to non purchasers? As far as I know, the GPL doesn't say anything about people I haven't sold to - there is nothing stopping me refusing to sell my binaries to anyone - I just can't stop any of my customers doing that.
  • Read the GPL for starters.

    Now, all you have to do is make the source available, you could just have a little message in the back of the manual pointing them towards a P.O . BOX to send a request. Or you can make it easy and just put up a web page, but I say make em suffer.

  • Indeed. Every company has a disclaimer on the lines of "tampering voids warranty". Heck, Microsoft even has a "warranty is voided the moment you buy it" policy. And does the GPL make any fundamental difference between commercial and non-commercial? I don't think so. I think it's perfectly legal to link to sources on another site, as long as you replace these links when the site you linked to stops distributing these sources. Your own modified sources should be available from your own site. People who will want to tamper with it, will understand it voids their warranty (warn them again on the site), and will be assured the code on the site(s) will help them recover their tampered machine when it stops working.
  • Watchguard, with their hip red FireBoxes based on a Linux kernel also do this: the source of their hardened Linux Kernel is not on the installation disks, but the clients can download it from their website of FTP server if they wish.

    Before that, the source wasn't online, but anyone who grabbed a phone or sent an email to their tech support crew, could get that kernel source as well.


    Okay... I'll do the stupid things first, then you shy people follow.

  • If you really want to make money on the insurance of the CD shipping, many customers will realise it and go to a competitor who doesn't. Part of the problem solves itself. Large companies will be less inclined to go to the cheaper competitor, of course, because there you don't pay as much for support...
  • by elflord ( 9269 ) on Sunday November 21, 1999 @11:26PM (#1513434) Homepage
    We'd like to avoid having to ship a CD-ROM of source code with each product,

    The GPL doesn't require you to do so. As long as the source is available.

    Obviously, for GPL programs that we have modified, we are going to have to release the source code on our website. That is pretty much clear.

    No, it isn't. As long as the source is available to anyone who asks for it, you're in the clear. For example, cheapbytes ( www.cheapbytes.com ) sell Linux CDs that contain binaries only. However, you can also purchase the source CD for $2-. If you have a CD burner, you can just burn and ship the source for anyone who asks for it, and charge a modest fee.

    If we used (for example) Red Hat Linux, it is my understanding that we can not just link to the source on the Red Hat website, as Red Hat is a "commercial" distribution. Is this correct?

    No, it's not at all correct. The problem is that it is woefully insufficient because you are not distributing it. The fact that someone else has the source on a public ftp site doesn't exhonerate you from your obligation to make the source available.

    Section 3c is discussing a situation where Joe user gets a binary-only CD from, say Cheapbytes. He wants to loan it to his friend for copying. 3c says he's allowed to do that. This doesn't really apply to you, because you are distributing it commercially. It's not fair for you to expect Redhat to provide ftp services for your commercial venture. However, it would also be unfair to require Joe user to order the source from Cheapbytes (just in case his friend wanted it two years later), or to require Joe User to set up an ftp service.

    If you already have an ftp/webserver, you could use that. Otherwise, you could just ship a "written offer" as outlined in the GPL, and burn/ship a CD for anyone who wants one ( probably almost noone, judging by the nature of the product )

    Cheers,

  • The GPL doesn't differentiate embedded programs and 'normal' programs. Both need source to be available.

    Including the sources on a source CD labelled "Warning: changing the source and using it on your device voids warranty." and "For Hackers Only" might be somewhat more expensive or cheaper. Depends on how much people request the source.
    If many people request it, the sending later might be more of a hassle than just including it as standard.

    Poll idea!
  • Not sure about this - where does it say I have to ship source to non purchasers? As far as I know, the GPL doesn't say anything about people I haven't sold to - there is nothing stopping me refusing to sell my binaries to anyone - I just can't stop any of my customers doing that.

    It has been my understanding that this comes from section 3b of GNU Copyleft License [gnu.org].

    "Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange ".

    It's that "any third party" mention that makes this so.

  • by Zach Baker ( 5303 ) <zach@zachbaker.com> on Sunday November 21, 1999 @11:38PM (#1513437) Homepage
    Incidentally, source code CD-ROMS for a nominal fee are probably the best approach in the scenario I've understood here.

    Sure. This is how TiVo (the Linux-runnin' digital TV recorder) does it. When RMS asked [deja.com] about it on Usenet, the person at TiVo, Inc. who actually makes the source CDs replied [deja.com] with how they fulfill the requirements of the GNU GPL.

  • Read the GPL [gnu.org] and you will see how much it warrants the software will work... IE. none.
  • by Anonymous Coward
    Presumably if I have a web application that uses GPLed code then there is no need to distribute the source (since the binary was not distributed); but what about other fuzzy areas? How about embedded apps where it wouldn't even be possible to change the binary (think of DirectTV or something)? Kiosks that I own put have set up for public use? Kiosks that are leased out? A machine that I own but that is located on a customer's site. It is not clear exactly what constitutes distribution.
  • by steffenz ( 19 ) on Sunday November 21, 1999 @11:46PM (#1513440) Homepage
    I think the delivery of sources and the conditions
    of the provided warranty are separate issues.

    The warranty conditions could state that
    bug reports are only accepted if the bug
    can be reproduced on an unmodified product.

    Steffen
  • So you can use section 3b instead of 3c if you for instance have an ftp or web site up at least three years from the release date containing the source code.

    Ensuring, of course, that you have a reference to that ftp/http site somewhere in the docs that the user gets when they get the binaries. I doubt that this would be a problem, it could be in there buried sufficiently deep that regular users don't see it (or ignore it), but hackers can still find it to download the source if they want it.
  • This is probably obvious, but before linking to RedHat's severs, it would be nice to obtain permission from them. It's doubtful their bandwidth would be hit hard enough they'd care, but it somehow doesn't seem right to just take it without asking. It's not free. Since their distribution is being used in this product I can imagine them accomodating the request fairly easily -- there could even be useful mutual advertising involved.
  • EXCUSE me? Dishonest? I believe this was INTENDED! It still doesn't prevent people from redistributing the source after they buy it. Of course you can "make money off the GPL".
  • I would have to say all of your examples would have to fall under the GPL. The code would have to be stored on a storage medium and thus would in essence be no different than distributing binaries on a CD-ROM. I don't think that one could say that an EPROM is somehow of a different nature than a CD.

    The only example that I would think of that gets around this is letting others call your code via the web or some such thing. So just separate your application into client and server and you don't have to give out the code.
  • If I write a program in binary machine code, do I have to release the source?
  • If we used (for example) Red Hat Linux, it is my understanding that we can not just link to the source on the Red Hat website, as Red Hat is a "commercial" distribution. Is this correct?
    No, it's not at all correct. The problem is that it is woefully insufficient because you are not distributing it. The fact that someone else has the source on a public ftp site doesn't exhonerate you from your obligation to make the source available.

    There is another reason why you should always supply the source code (on a CD or from a ftp/www site) instead of linking to someone else's site: you must supply the source as it was used to build your system. If you made any modifications to some packages, then you have to make sure that your customers can get a copy of the source that includes all these modifications.

    Also, if you link to someone else's site, you cannot be sure that all packages will remain there for the next three years (as required by the GPL). The other company (RedHat in this case) is free to change the layout of their site, or to simply stop distributing some packages (because they already supply the sources on CD, so they are not required to distribute them via ftp/www). Or RedHat could also replace these packages by newer versions. In most cases, the users would be happy to get the latest version, but what if the new version of some package is incompatible with some of the other packages that come pre-installed on the system that you are selling?

    For all these reasons, it is important that you provide the sources on your own ftp/www site or on a CD.

  • That'd be why the LGPL is in place I think. And yes, yes they can redistribute the source.. but I mean.. would you get source from Red Hat for $3.95 or joescheaperredhat.com for $2.95? Dishonest because the unclaimed insurance money would be going for other purposes.
  • and set up an ftp, http, tftp or whatever server on the machine, giving access to the source.

    Either that, or if you are making an installation CD to go with it, just include the source on that.

    Doing anything else may give people an excuse to accuse you of violating the GPL, which will do your company no good.

    It's not as though a source CD is going to cost you anything significant, so if you don't do that, or something as good, it gives the definite impression that you are being disingenuous.
  • by Dom2 ( 838 ) on Monday November 22, 1999 @12:29AM (#1513451) Homepage
    I know it's probably a bit late, but if you'd have chosen FreeBSD, the license would have allowed you to withhold source code as much as you wish. A lot of other "Appliance" companies are doing just this, for instance http://www.whistle.com/ and the GNATbox firewall (forgot URL).

    Good luck, anyway!
  • by smash ( 1351 ) on Monday November 22, 1999 @12:30AM (#1513452) Homepage Journal
    Provide binary/source or binary only with the product, make the source available upon request, and (and this is the important bit) CHARGE source code SUPPORT.

    if someone "breaks" it by messing with the source code, then charge them the appropriate fees for support, by the hour.

    doesn't seem like a problem to me.. in the documentation state something along the lines of "we will provide free support only for binaries supplied with this product. support for user-compiled binaries is available upon request, at additional cost" or similar. or just state that you straight out don't support user compiled binaries (depends if you want to make money out of it).

    this works with redhat.

    im sure if you try to recompile your redhat distro with the supplied source CD, and ring up redhat saying something to the effect of "whats a makefile? how do i configure it???" they will not provide that sort of support for free ;)

    the whole idea about making money out of open source is charging for *consulting*, but not the actual product.

    just me..

    smash
  • if you do that, the binary IS the source ;)

    id like to see you write a significant program directly using a hex editor though.. i'm not saying its not possible...(ive done it with dos... program to call software interrupt 20 and reboot machine - 2 bytes :) ) but people went out and wrote assemblers (in binary :P) for a reason ;)

    smash (ie, it was a royal pain in the ass to write/debug :P)
  • "Just bury them deep enough" would be a direct violation of the GPL, as it requires you to make sure your users know their rights. The easiest thing would just have a physical paper sheet included, that gave an URL, either to your own server, or to for instance kernel.org.

    /* Steinar */
  • It's not a violation, as long as you provide the source. The GPL isn't very concerned with how the binaries look, just that you make sure the recipient can get the source under the GPL. How the executable is stored is up to you.
  • Yeah, but you are free to "provide warranty in exchange for a fee", or something along those lines. Most users will _want_ a warranty (and are willing to pay for it), but you are free to set the terms however you want.

    /* Steinar */
  • According to the GPL, the source code is the `preferred way of making alterations to the product'. So if you do machine code in your head, fine. If you use a paper sheet, I'm afraid you'll have to include that paper sheet (in ELECTRONIC form) with your product.

    This is of course assuming that you're making alterations to another person's GPL'ed product. I'm not sure if you can claim that others distribute source if they don't have it -- I think that would prevent them from distributing it at all...

    /* Steinar */
  • "Just bury them deep enough" would be a direct violation of the GPL, as it requires you to make sure your users know their rights.

    I'm no lawyer, but I imagine it would be the user's responsibility to ensure that they've read the supporting documentation. How can I be expected to ensure that my users read the README? I always thought it was my responsibility to read license agreements to see what my rights are. Of course, I expect to get all my rights once I've read the license and supporting docs.

    "Burying" was probably the wrong word for me to use, as I didn't mean to actively hide it. All I mean is doing something like putting it down the bottom of the README, or as a small question at the end of a FAQ, "Is the source available?".

    It would definately need to be the case that if you read the docs that came with the binaries you would read the notice, without having to read a huge manual or anything.
  • As I understand the GPL in very vague terms
    you only have to supply sources to those programs
    that you have actually modified. So if your hardware/software combination doesnt contain any
    modified programs, is there a need to distribute
    source AT ALL? Like for example, just because I'm
    using the Linux kernel in a product, and I have
    all the drivers already available and I havent
    touched the kernel source, but I've made my own
    programs to do whatever, there shouldnt be a need
    to distribute source, because the GPL doesn't
    come into effect... right?
  • by Anonymous Coward
    Given the implications of the GPL, it may be better to backtrack now, rather than further down the track when their product goes to market. The BSD license seems like the logical choice for what they want.
  • ...but I can still buy your CD and sell the contents (at a lower price).
  • If this is a modified Linux kernel, you must release source. If it is based on an already GPL program, you must release source. If it is your original code that just runs on Linux, you have the option of not licensing it under GPL. However, the Linux binaries you distribute must have source for them available, even if it is a webpage. Compiling a program under Linux does not a derrived work make.
    Andrew G. Feinberg
  • You don't have to release your software as GPL. Hey, choose a license that suits you better.

    But, I really think that GPL is good, as you have to release any/all modifications to GPL code. On BSD world this could lead to forking between different software companies.

    Eg. Apple.
    --
    when everyone gives everything,

  • As I understand the GPL in very vague terms you only have to supply sources to those programs that you have actually modified.

    Nooo... read it again. You must distribute source for anything you give to others if it came to you under the GPL, whether you've modified it or not.

  • hey! that's *my* program! i'll be suing you... :O)
  • Not necessarily. You only have to provide copies of the GPL portion of the source. You're free to license your own part of the code however you wish. So you could modify the code, and the modifications are your own to license, with the caveat that what was previously GPLed must stay GPLed. However, you DO have a point as to what happens when the base code gets versioned upstream if you provide a link vice your own site. But the GPL can't take away any rights for your OWN ode, it's just a convenient mechanism for releasing it.
  • by Mr Z ( 6791 ) on Monday November 22, 1999 @02:37AM (#1513468) Homepage Journal
    I'm no lawyer, but I imagine it would be the user's responsibility to ensure that they've read the supporting documentation.

    Generally, licenses need to be rather obvious and presented up-front. The GPL is just such a license. A small leaflet with a copy of the GPL on it and a URL inserted with the documentation would probably be sufficient.

    This probably feels a little odd for a consumer appliance, but I expect to see this sort of thing come up more and more. How many of you have an EULA or other License agreement for the software in your cell phone, pager, VCR, coffee maker, telephone, washing machine, etc.? To quote the tired, old AT&T commercial: You will.

    --Joe
    --
  • Just because the screws for your hard drive are readily accessible doesn't stop the manufacturer from saying "Opening it up voids the warranty". You can say the same thing here. Installing modified versions of the included software voids the warranty.

    To make it clear state the cost ( to the customer ) of recovering from such situations with your help, or even of having you optimize something for them.

    Note: You will in all likelihood need to issue bug fixes for security violations at some point.

  • Here is how you do it to keep everybody happy.

    1: Include the GPL itself with the documentation.

    2: Include a link to your own FTP site with all the SRPMs piled high.

    3: State within the warranty ( near the beginning, in bold letters ) that you don't cover modifications or recompilations of included software.

    4: Include an offer to make such modifications for the user at a specific charge.

    This complies with the GPL, makes your life simpler and makes the customer happy. Note that you should send the modified software ( whatever it is ) over to Sunsite so that it will be easily accessible even if your site is down ( All the really big archives mirror sunsite ).

  • by mikera ( 98932 ) on Monday November 22, 1999 @03:12AM (#1513476) Homepage Journal
    I don't really see the problem in releasing the source anyway. Here's why:

    Anyone who changes the source will more than likely know exactly what they are doing, and certainly not need any support. Put on a disclaimer if you like, but my guess is that the number of people wanting to modify and recompile your drivers will be in single figures.

    But hey, you might get lucky. Suppose some technical guru spots a deep bug that she can fix, or sees a way to optimize the code to make it leaner, faster and more stable, or maybe finds a cool way to interface with other hardware that you never dreamed of. And the great thing about the GPL then is that you get these enhancements back to incorporate into your next release!

    Basically, GPL is great for drivers and hardware support. You shouldn't waste any energy trying to obfuscate access to the source, since this will only throw away most of the considerable benefits that the GPL can bring.



  • And if past experience of others is any giude, he is likely to see a more stable, secure, and efficient product overall. Using FreeBSD (or Net or Open) is the perfect solution for this type of embedded application. Linux simply cannot hold its own in real world environments.
  • For future projects, you may want to consider a BSD-style license. Code developed under it doesn't have this problem.

    A BSD style license also doesn't prevent you from using pieces of your own code developed for an Open Source package (under the BSD license) in another system you develop commercially. You wrote it; you own it; you can use it.

    With GPL, if this situation arises, you must forget you ever wrote the GPL code and "reengineer" it for your commercial development, or have someone else reengineer it. Costs you extra time, but AFAIK that's what you have to do to abide by the license and honor its source release terms.

    Given this and a few other points, it seems to me that GPL is a good license for hobby developers; BSD is the better license for professional programmers.
  • Internal clients aren't a problem. Richard Stallman has stated that the GPL applies to external clients only. Internal distribution can be closed.

    External customers, then, are a bit more complex, as the GPL -does- apply to them. Here, though, the nature of Linux comes to your rescue. You are ONLY required to GPL changes to the kernel or changes to existing source code. Any drivers that you write as modules, along with any packages you write yourself, need not be GPL, and can be as closed as you want.

    You're perfectly entitled to refer customers to Red Hat's site, or any other site, IMHO, The object of the GPL is that GPLed code is available. Who does the actual hosting of the site is, AFAICT, not relevent to the GPL.

  • But this isn't a bad thing. Apple has created an incredible product (OSX) that is well worth using when the situation calls for it. I'd place OSX only behind FreeBSD and Digital UNIX in terms of my prefered working environments.
  • A BSD style license also doesn't prevent you from using pieces of your own code developed for an Open Source package (under the BSD license) in another system you develop commercially. You wrote it; you own it; you can use it.

    With GPL, if this situation arises, you must forget you ever wrote the GPL code and "reengineer" it for your commercial development, or have someone else reengineer it. Costs you extra time, but AFAIK that's what you have to do to abide by the license and honor its source release terms.


    Wrong. With *any* license you (as the original author of the code or holder of the license) have the right to release future versions of the code under a different license or to not release it at all - because YOU originally wrote the code, YOU have complete control over future licensing. However, previously released versions must remain under the GPL... once it's out, it's out, and there's nothing you can do about it. If you want to release an existing version under a non-GPL license, just change a line or two of the code and re-release it. This is where code such as this comes in handy:

    1 ? 0 : 1; /* gotta love C :-)*/

    Please ignore any fucked up grammar/spelling in this post, I haven't slept in 2 days.

    "Software is like sex- the best is for free"
    -Linus Torvalds
  • by remande ( 31154 ) <remande.bigfoot@com> on Monday November 22, 1999 @03:43AM (#1513483) Homepage
    I once worked on a similar project: we were using Linux as an el-cheapo terminal on a turnkey, don't-give-the-customer-root-and-they-won't-hurt-t hemselves solution. We never completed the project (another set of stories), but we decided that we would ship the CD with every copy.

    Why? Upgrades.

    If you upgrade the Linux you ship, you have to have another copy of the source available. Everybody has to be able to access their source code. Doing this on a Web site can be annoying and expensive. By shipping the CD, you don't have to keep holding onto the code yourself. Most other solutions require you to keep a copy of today's Linux fifty years down the line.

    If you really don't want to give everybody a disk, remember to version your Linux and other open code. Hand the customer a notice saying "This contains FredCo Open Source Distribution v1.0. Please contact FredCo at 800-555-5555 to purchase a source distribution of this software at a nominal fee, plus shipping and handling". Then, just have a couple of master disks (never just one) of FredCo OSD v1.0, and have a CD-burner around to copy these for customers. Upgrade your software? Cut a new set of master CDs, and rev the version number.

    This may be cheaper in terms of materials, but you still have to have some business process in place for handling source requests.

  • Ahh yes, but they also provide their modified kernels, along with the toolchain set and some misc commands at www.tivo.com/linux [tivo.com]. No need to buy a CD. I don't know if they've always had this page.
  • "You need to fundamentally change your philosophy. You are no longer a vendor of software (ie, manufacturer) but you sell people what they really need .... quality service based on a fantastic open source product developed cooperatively over the Internet."

    Ermm.. he said he was selling hardware, and seemed quite happy doing so. Why does he need to change his philosophy?
  • I think the question about distribution of the source has been adequately addressed. However, the point of the GPL requiring distribution of source is so that users can fix and improve the software they use.

    My understanding is that your box will essentially be impossible to user upgrade since you don't provide user or root account access to the purchasers of your system. Is that right?

    If so, source or no source, you have locked users into a position where they cannot use the source to solve problems with your box. I am not sure if this is legal or not under the GPL, but it is in direct contravention of the intent of the GPL.

    I would encourage you to provide root access to the systems to purchasers that request it.

  • From the GPL, just below section 3: "The source code for a work means the preferred form of the work for making modifications to it." This means you can't distribute a program disassembly and such as the source code.
  • While the use of BSD to get to a closed source version of the code for this application may be convenient for the hardware manufacturer, I would think that users may in fact be attracted to the idea of having the source code available for the equipment they are purchasing.

    When I first started using Linux I was attracted to it because it offered and incredible value - where else could I get an unlimited server and development system chock full of tools for $21.95? I had no interest or intention of ever messing with the underlying code. Now that I have been a Linux user for a while I have come to appreciate the sheer power of total control.

    If I was running this project, I would make code available to my customers, whatever license I chose.

  • I've discussed this with Stallman, and he claims that in his interpretation of section 3b of the GPL, merely providing a URL where the source can be downloaded is not sufficient to comply with the terms of the License. As implied by the words ``physically performing the source distribution'', this section requires an offer for a physical shipment (e.g. by snail mail) of a CD (or tape or some other machine-readable media) containing the source.

    Stallman was going to change this in version 3 of the GPL (in fact, that would have been the major change); but he inquired as to what the facilities for Internet access were like in Europe, and since he found that they were not nearly as good as in North America, he decided that version 3 of the GPL would (probably) not change this.

    So you must either ship a CD with each unit sold, or accompany it with a written offer to do so on demand. Having an FTP site is convenient, but it is neither necessary nor sufficient.

    As for the meaning of ``commercial'' in section 3c, my interpretation is that it refers to your being commercial (not RedHat). (The ratio legis here is probably this: if an individual writes a small change to a GPL'ed program and offers to distribute the source, and some big company includes that program in a distribution that sells millions of copy, we don't want the individual to be overwhelmed by requests for source distribution if the company merely transmits the offer. This is my personal explanation, nothing more.)

  • It is probably just someone who is pissed because they chose Linux, the obviously inferior OS and now they cannot back out of it.
  • by loki7 ( 11496 ) on Monday November 22, 1999 @04:26AM (#1513497) Homepage
    If you're rally serious about shipping a product, then your company must have legal counsel, right? You've dealt with contracts and leases and other legal documents in the past, right? Presumably it would be your lawyer's job to read and interpret the GPL and give your company competent LEGAL ADVICE about the licensing issues involved.

    Please remember that Slashdot does not carry malpractice insurance and any advice you get from Slashdot readers (myself included) should be highly suspect, since most of us ARE NOT LAWYERS.

    /peter
  • What you could try is this:
    1) Post the code that you midified that is not
    directly from the distribution you use on the
    website.
    2) contact another company (like cheapbytes) who
    already sells copies of CDs with GPL software,
    and thus already has to honor the GPL for stuff
    they are already selling.

    You migh tbe able to get a mutually beneficial
    contract going where you refer customers to them
    to get the original distribution source code

    Since you have a contract with them, they are
    providing it to your customers for you. As long
    as the price is nominal (which it is for
    some like cheapebytes) then it should still
    satisfy.

    Since whoever is selling CDs already has to honor
    the GPL and provide the source for 3 years for
    their normal sales, I am sure that at least one of
    them would be willing to do it for you in exchange
    for the publicity they would generate
    (ie the offer would basically be advertising
    to all of your customers)

    just a thought
  • If there's no "source", how can you be expected to write self-modifying executables ? 8-)

    Seriously, I think there's always "source", even for a Lego RCX or Seymour Cray toggling bit patterns into a front panel. Maybe you wrote the executable beforehand, but there has to be something that would pass as a "listing", so that others could replicate it by re-typing what you did.

  • This is not good enough in itself. If the user does not know that they have a right to ask for the source code, you have not fulfilled your end of the licence.

    Personally, I would think it easier to just distribute the source CD with the product. It would save a lot of hassle. Remember that the user is within their rights to wait a bit under three years and then ask for the source to the program you distributed to them. That is the actual version that you distributed -- they don't have to accept a newer version. It would be a pain to keep an archive of the source of all distributions you made for the last three years in stock if a user wants a copy.
  • Don't think that would be allowed by the GPL.

    for a charge no more than your cost of physically performing source distribution

    So you could only charge for insurance what you would actually have to pay for it. I know you were probably kidding anyway, but i though i'd bring it to your attention just in case. :)
  • Nooo... read it again. You must distribute source for anything you give to others if it came to you under the GPL, whether you've modified it or not.

    I think he's asking if he has to distribute the source to *HIS* program. ie: Program FOOBAR is completely original code, but it happens to run on a GNU/Linux system. Granted, he has to distribute sources to the Linux system... but, being that it's completely original code, I wouldn't think he has to distribute the sources to FOOBAR.

    Similarly... I have to wonder. If one wrote an OS (in this case, the utilies, programs, and interfaces) but happened to use Linus's kernel... would they have to distribute the source to the entire OS... or just the kernel? I'm thinking just the kernel...
  • Mot users do not care about source code. You guys are so geeked out, you think everyone wants source.

    Therefore nobody wants the source and there's no incentive to disseminate? Why not distribute the source and make geeks more likely to buy? It's not like the added burden, having a CD-ROM burner and some storage space around for three years, costs anything.

    You don't lose anything, and you might gain something, so toss the dice.

    If you were running the project, it would be history because you would be releasing your hard work to the public, and would be broke in no
    time, as no one would then be required to pay.


    Huh? Somewhere else in this thread someone posted a link to all of TiVo's GPL'd source. Please explain to me how this link will get me a free TiVo.
  • I know of a company that is "leasing" boxes running modified linux & squid and they don't think that they need to supply source since they aren't "selling" the box. I think that this is a clear violation of the GPL. Does anyone concur?
    I'd like to see them taken to task if they are violating...and get their source! We can't have companies sucking off the open source community (taking & not giving).

    -core
  • I'm evaluating the possibility of using Cygnus or something like it as basis for a medical embedded device. No CD drive, everything is in Flash ROM, no user tweaking is possible, and my users aren't computer literate at all.

    So supposing I overcome my reluctance of going back 30 years to a command-line development system :-), am I obliged to ship a CD with every unit? Or can I just publish diff files on my website? And where does my advantage go if I publish my source code for my competitors to download, anyway?

    Yes, I've read the GPL and the other comments here, but I'm still not sure for this particular case...

  • At the risk of getting flamed to a Krispy Kitty...

    The way I read the request, the gentleman assumes that just because it runs under Linux, it has to be GPL'd. While this is true for changes to the kernel code, didn't Linus say that binaries linked against the kernel did NOT have to be GPL'd? Maybe I didn't read the request closely enough, but it didn't sound like they were making changes to the kernel, so there would be no requirement for releasing the product under the GPL.

    Or did I get into a bad batch of catnip?

    ...diving into his asbestos covered kitty-condo.

    Meow.
  • This is what I'd do. You already planned to make the source available via FTP; this is a Good Thing. Now, you'll have to include a slip of paper with your products that states "To get the source code to this program, go to ftp://whatever.your.server.is and download via anonymous FTP" or whatever scheme you plan to use."

    That should be enough. You do have to make the source freely available, but that should not be a problem at this point.
  • Cobalt Micro (the Qube guys) only have thier source available on thier FTP server. They don't include a CD, the source is not on the hard drive of the Qube already, and I certainly couldn't find reference to the source in thier docs. Also, while the source *is* available, I was told by tech support that recompiling could void my warrently.

    So it seems clear that all you NEED to do is put the source on a public FTP server. You don't have to actually ship it with your product, and you don't have to actually the use of said code.
  • I don't know what the device is you're selling, so this may not really apply:

    Why not let the customer have root and readily available source code? Just make it clear that customer modified software is not supported, and that if a device is returned "defective" because of customer modification, they will be CHARGED for the service (nothing unusual there, no warrantee covers user modifications). Set up the root account so that that disclaimer is repeated when they log in.

    When a device is returned, run a CRC on the system software to detect such modifications.

    There have been several occasions where I wish I had access to device firmware either to correct misfeatures or bugs (My DSS reciever for example has a couple of race conditions, including a lock-up. Interestingly, there is evidently a watchdog timer that resets after the lockup.)

  • The warranty provision may be the clue, here. It appears that this company intends to provide a warranty on hits hardware product. I believe it would be entirely within their rights to declare the conditions to maintain that warranty. Requesting root access should void the warranty for the customer, in this case.

    What GPL software includes a warranty? None! In fact, it is all made available 'as is', on purpose. Here, it is the turn-key system that is being warranted.

    Open Source, under GPL, adds value to this system for the customer, as it protects the customer in the case where vendor support disappears or is otherwise lacking in the future, or in any future case where the warranty and such support no longer matters to the customer.

    In short, the customer won't need root while the product is working fine and the vendor is supporting him, and having the source won't hurt, and might possibly help at some future date.
  • I think you are probably missing the point.

    The 'widget' isn't supposed to be modified by the user. It is an appliance.

    There are a number of instances where this is the appropriate (and only sane) way to handle an item. The support nightmares that can occur by a customer changing the source to an embedded appliance in an uncontrolled way are more than I want to consider.

    I have no idea what the widget is. One possible example of a widget would be a DSL router. You have a couple of configuration options, and the widget just sits there and provides a connection between the phone company and your LAN. It may provide a DHCP server, could provide some QoS features, or could even provide a fax by e-mail facility. It isn't expected nor appropriate that the customer modify it to allow them to run FreeCiv on their DSL router.

    If you were to require a shipment of a CD with the product, it is quite likely to confuse a number of people.
    Customer: What do I need this for?
    Support Person: You don't need it, sir.
    Customer: Then why the heck did you ship it to me.
    Support Person: Our lawyers said we had to.

    You would be adding cost to the product and (in many cases even worse) causing customer confusion. In some cases, it could even cause liability problems.

  • by Anonymous Coward
    Maybe a greater proportion in the old days, but I'm sure some still do.

    I can still remember many of those ol 6502 and 65x816 opcodes and their cycle counts, and I/O addresses for the Apple II and IIGS.

    e.g. 2c 30 C0 AD 70 C0 AD 64 C0 30 FB 10 F3

    I only used assemblers when I was in my late teens- to make a disk caching program. I've declined even further - now I'm using stuff like Perl (gasp!). Getting old and lazy I guess :).

    Cheerio,

    Link.
  • Yahoo, Walnut Creek, Hotmail, my personal workstation (too difficult to manage, no clean, coherent environment is presented), my mail server (no OS
    should crash once a month), Best.com, USWest, Ipsilon, AltaVista, Microsoft, Apache, Whistle...


    All of these have tried Linux first?

    I understand that they use *BSD but the claim you make is that Linux couldn't handle it. If that is the case, then they must have tried it first without success.

    My web site [rr.com] acts as a firewall, a ftp server, a web server, a DNS server and even a Team Fortress server. It runs on a sorry Pentium 133 with 24 megs and has (so far) an uptime [rr.com] of 36 days. The reason for my last reboot was installing a new fridge, and had to install a new curcuit breaker, thus shutting down the power to my house (and server). I have yet to crash it. Something must be wrong if you crash yours once a month!

    Don't get me wrong, I like *BSD, but don't go yipping that *BSD is better than Linux just because its being used by commercial sites. Also I would like to note that the suggestion of using the BSD license so you don't have to give the source is the reason I don't like the BSD license. This takes away the rights of the users. But thats another story.

    Those that prefer the BSD license seem to be the ones taking someone elses work, changing it a little to make it theirs. Those that prefer the GPL license seem to be the ones that create something from scratch, and thus, does not like it when others take their work and don't give back to the community.
    Steven Rostedt
  • Yes, this is a violation. An EULA must be agreed to before you can use software. Most of them specifically disallow rental. In this case, you have to agree to the GPL before you use the product, even though you are renting it.

    Take them to task on this one. With a blatant disregard for the GPL like this, the bare mention that you might send lawyers their way is liable to stir up some attention. Of course, since they have no legal leg to stand on, I seriously doubt that they will call the bluff.

  • Mot users do not care about source code. You guys are so geeked out, you think everyone wants source. Most people don't even know where to plug in a mouse.

    Two years ago I didn't care about source code either. Now that I have some experience with what the availability of source code implies, I have a very different attitude.

    A large scale change in perception will take time. But I think that it is going to happen.

  • Being a good moderator is very hard. How many can consistently resist the attempt to bump up something we agree with? Very few, I imagine, once we are honest with ourselves.

    Well, the flip side of that is that is't really hard to resist bumping down what we disagree with.

    I have a theory. I bet that within any group there are a few fanatics. And that the bigger the group the more the absolute number of fanatics.

    And I believe that a fanatic is more apt to bump down something he disagrees with than to bump up something he agrees with. Why? Because the negative affect sticks in his craw--affects him--more than the positive one does.

    If this is all true, and there are more pro-Linux folks than pro-BSD folks, then you would expect to see more anti-Linux statements zapped than you would see anti-BSD statements zapped. Right? Is this happening?

  • One of your other problems seemed to be that you were afraid that easy access to the source would encourage clients to tamper with the setup, and then complain that your product stopped working right. You are apparently shipping to a set of clients who are not overly concerned that they will not have root access. Are these people that will be inclined to muck about with the software on these boxes? Even if they did, couldn't you legalese something to the effect of "screwing with the box voids your warranty"?

    You don't want to do that. Even if you're right, it's bad customer relations. If it's too easy to void the warranty, a lot of your customers will do it, and a significant percentage will become disgruntled if you refuse to support them.

    If you require them to take some positive steps, like ordering a CD or downloading a multi-megabyte tar.gz file, before they can "break the seal", fewer people will do it, and those that break it won't be as upset when you tell them they have to pay for support.

  • Put the sources on your closed, inaccessable box.

    If selling the haradware with the contents usable
    is distributing binaries, then putting the source
    on there, in exactly the same form, is distributing the source.
  • by Anonymous Coward
    >Yahoo, Walnut Creek, Hotmail, my personal workstation (too difficult to manage, no clean, coherent environment is
    presented), my mail server (no OS should crash once a month), Best.com, USWest, Ipsilon, AltaVista, Microsoft,
    Apache, Whistle...

    These are all applications or popular websites where Linux just didn't cut it.
    ************************************************ **

    All these places tried linux, found it lacking, and *then* went to BSD? I don't think so.

    Your workstation? Sure, but then again how long ago was that? 1.x kernels had some serious stability problems, no one denies that...

    BSD is an excellent system. It should stand on it's own merits.

    But your snide implication that linux is inferior in terms of performance or stability is, at best, ill-informed flamebait. I suppose you may feel justified by the legions of equally ignorant and rabid 1inux r007z types, but please, grow up.


  • Programmers care about source code. User don't. So?

    The whole matter of RPMs and even SRPMs are a real pain in the butt if you care about source code. I certainly wish that someone would release a Linux operating system where you could just do cd /usr/src and find everything where it belongs, and where you could say could Just Type Make (tm :-).

    But I don't think it will happen. Vendors who make and sell Linux operating systems are, as you observe, selling them to non-programmers, people who don't care about source code. So we're hosed.

    Fortunately, other solutions exist. :-)

  • You can certainly make money from supplying the software in the first place. Your client can always redistribute by himself, but many clients, especially corporate/industrial ones, won't want to because your software represents a significant business advantage to them.

    Shipping the source is hugely incidental. Trivial. Not really worth mentioning.

    --
  • by howardjp ( 5458 ) on Monday November 22, 1999 @07:42AM (#1513540) Homepage
    That is exactly what is happening and that is why Slashdot-style moderation does not work.

    I should write an essay on this. :)
  • Mot users do not care about source code. You guys are so geeked out, you think everyone wants source. Most people don't even know where to plug in a mouse

    Lets see here, are all his users Mom and Pop types. Better yet, are his customers Mom and Pops or are they businesses. Sure, my mom doesn't care about the source. But if I was running a business, I would like to have access to the source, and be able to modify it. Am I a geek that likes to play with the code? Maybe, but if I was a manager, I would not want to be dependant on a single source for updates. If I don't like the vendor, or that vendor goes out of business, I would like to at least hire someone to take over. The point about GPL is not that you can access and modify the source. But you can always find someone who can.

    That's the problem with Microsoft. If you buy their products, they are the only ones who can support you. I don't mean help you with using the product. But being able to change the product to suit your needs. If Microsoft decides to come out with another version of the product that no longer supports your application so you need to stay with the older product. Will you still get support for it? The idea of open/modifiable source is that I am not stuck with one option for who supports me. I can go anywhere.

    If you were running the project, it would be history because you would be releasing your hard work to the public, and would be broke in no time, as no one would then be required to pay

    If you need support, you need to pay. Software could be considered a product, or it can be considered a service. I like to think that software is a service. Who says that if I create an application, that I can rest on my laurels and sit and take from everyone without having to keep it up to date. Software is something that should be paid to create. Its hard today since we are stuck with the idea that software is a product. And it has been produced that way. If it started as a service, then it can be increased and advanced as a service. Like gcc.

    Steven Rostedt
  • It may not have been Stallman's intention to allow FTP/HTTP as the medium for source distribution, but I would defy him to point out where it is prohibited:

    ...Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange ...

    FTP is certainly customarily used for source exchange, and every network has a physical layer.

    Furthermore, where is Stallman intending to draw the line? I'll bet there are plenty of PCs around the world without CD-ROM drives. Similarly, if I make my modifications available on DVD-ROM, or 5 1/4-inch floppy, would that be acceptable?

    Version 3 of the GPL should be altered so that the source provider must make it available in the format of the recipient's choice. If the latter party asks for something ridiculous (such as 8-inch disks) it would cost them considerably more to obtain it.

    Hamish
  • closed source in that there were license restrictions
    An absence of licensing restrictions is hardly sufficient to make something "open source", whether you go by the official OSI definition or whether you go by the more customary off-the-cuff definition most of us use. Otherwise nothing would be "open source" that wasn't public domain, and surely that's not the intent.

    Sendmail Pro has licensing restrictions, but you get the source. BSDI has licensing restrictions, but you get the source. And yes, the FSF has licensing restrictions, but you get the source. Historically, even expensive mainframes sometimes gave you the source if you bought the systems, but if so, this certainly had licensing restrictions. And think of how many times we've all seen the ominous words that "This is unpublished source code of AT&T" or words to that effect on the troff macro kits. That's obviously source, too.

  • Most users do not care about source code. You guys are so geeked out, you think everyone wants source.

    Most people have never come into contact with murder laws. Perhaps we should just get rid of them?

    Hamish
  • How much of a pain in the add the license is. It is not protecting them, it is burdening them. It is not called the GPV for nothing. It has wormed its way in and infected his product. A truly free license would not have done that.

    Comsider this:

    I'm a developer. I want software to be free. I buy into a lot of what RMS, ESR, etc say. I know that in order for free software to propagate, it has to prove it's better than its proprietary counterparts. I therefore want to give free software an advantage: my work can only be included in other free software projects. I don't want to work for Microsoft for free. If Microsoft wants to use my code, they can pay me, but if Alan Cox wants to use my code for some drivers he's working on, he can feel free to do so. So, I go to hire a lawyer to draft me a license that outlines these terms, but wait! There's already a license I can use that suits my purpose: the GNU General Public License. Richard Stallman just saved me a bunch of lawyer's fees.

    The BSD license is a good license, but it's ahead of its time. When all software is free, and the thought that it should be proprietary becomes generally absurd, the BSDL will be the perfect solution for everyone. However, not all software is free, and free software developers want to separate themselves from proprietary companies. These developers don't want to work for Company X for free, but they are willing to share their work with others like them. So they choose the GPL.

    When all software is free (as in speech), I'll start writing BSD-licensed software. Until then, it's GPL for me.
    --------
    "I already have all the latest software."
  • Probably because the initial question was about Linux. If this was an automotive site and someone asked "How do I drop the transmission on my Chevy?" I would consider a response of "Buy a Ford." to be potential flamebait.

    Note also that the post that created this thread was moderated up to 3 as Insightful.
  • I wish I had caught this thread earlier, for I have some important points to make...

    Many have pointed out that you do not need to send a cd with each system, as long as you make the source code available on demand for three years.

    Well, this is not as easy as it seems. Consider, for instance, that your company go bankrupt tomorrow. That's a nasty legal liability on your shoulders... What if you completely change your business focus? After all, things in the computer business change a lot. You'll be saddled with maintaining this source code and a formal channel to provide it on demand for three full years *after* you stopped selling the product.

    Also, you have to remember that you'll need to keep control of the versions of the software you ship your product with. If you distribute three different revisions of the product in a single month, just for the sake of correcting three different bugs, that's three versions of the source code you'll have to keep for three years, and be able to identify which corresponds to what your client bought. Of course, you could ignore this and stay illegal and vulnerable to a class-action lawsuit. You don't want that, do you?

    All in all... you should have gone BSD. No, this is not a flame bait, it's just my personal opinion. Based on the above.
  • You don't have to include a CD with sources with every system, but you do have to make the software available to customers who ask, and you have to let them know that they can ask. The risk if you don't include the source with every system is that it may look like you are trying to hide the source and circument the GPL.

    If you include the source on CD, it shows good will and openness and pretty much avoids any risk that people will think you are trying to get around the GPL.

    I wouldn't worry that people in large numbers recompile and alter your software; it's way too much work. For anything important, you should probably checksum the binaries on the deployed system and integrate checksum checks into your support structure (you can do this by hand or use the rpm system for it).

  • With GPL, if this situation arises, you must forget you ever wrote the GPL code and "reengineer" it for your commercial development, or have someone else reengineer it.

    Incorrect. Any code you write is yours; you own the copyright, and you can use that code however you like. Once you publish under the GPL, the code you released is available to everyone else, and they are bound by the GPL. And if anyone contributes code, their code is unavailable to you for non-GPL use.

    But your code is yours.

    Given this and a few other points, it seems to me that GPL is a good license for hobby developers; BSD is the better license for professional programmers.

    I disagree-- the GPL is for professional programmers, also. Here are the differences between the GPL and GSDL:

    GPL: For people who want their code available to everyone, but don't want other people to use their code for proprietary (binary-only) purposes; has its roots in the political ideology that information is most efficient if everyone has equal access to it.

    BSDL: For people who want their code available to everyone, but don't care if other people use their code in proprietary (binary-only) products. Politically agnostic.

    Note that the licenses don't have anything to do with you, only what other people can do with your code. The BSDL is a noble license-- it assumes the best of human nature. The GPL is rather cynical, but for cynical folks like me, protects code from hijacking.

    Some people see the GPL as forcing FSF morals on other people. However, this is logically flawed, as illustrated by the following sorite:

    1. BSDL allows for binary-only distribution of BSDL-derived works.

    2. Binary-only distributions do not include the source-- no source-code is available for use.

    3. The GPL allows for free distribution of binaries.

    So, from a BSDL standpoint, the GPL is as good as binary-only distributions. Actually, it's even better, because, though you can't mix GPL code into a BSDL product, you can look at the code for ideas on implementation, and for technical details that would otherwise remain hidden.

    It's up to you which license you use. The GPL protects your investment by disallowing other people to hijack it; the BSD allows for maximum freedom for your code. Use the one that serves your purpose best.

    Also, you might look at the Artistic license (Perl), or the NPL (Mozilla project) for other licensing ideas. I don't advocate creating a new license; use one that's there, and suits your purpose.
  • It is not sufficient to link to the source on another FTP server, UNLESS you can gaurantee in writing to the customer that the source used to build the GPLed binary will be available for 3 years. In practice this means that you use your own servers because you probably did some non-standard tweaking, and unless you have an agreement with another to host your source for you, you can't gaurantee your customer access to the source for 3 years.

    It will likely be much easier for you to offer source CD's on request. You are permitted to charge reasonable duplication fees, which could be from $2-$50 depending on your cost structure.
    --
  • You are treating the GPL's requirement to distribute sources as a liability, as something that may cost your company money. In fact, it is actually a revenue generation opportunity!

    Your physical mailbox at home is full of CDROMs sent to you for free. Apparently it is economic to send CDROMs to non-computer people in the hope that they will use them. It is therefore undoubtedly the case that companies would line up around the block for a list of *developers* who have *asked* for a CDROM, ie professional computer people who purchase products, who have money, and who are guaranteed to actually use the CDROM they are sent as something other than a coaster.

    You could make the process of asking for a copy of the sources very easy, just a matter of either filling out a form on the web, calling an 800 number, or sending a postcard. Maybe require $5 (using a credit card order form on the web) just as a proof of seriousness, or maybe not. Then you take this list, and you SELL it to a "freebie" computer magazine targetted at developers. Or to a computer catalog company. Or to a Linux software vendor. Or whatever. They send everyone their magazine or catalog or whatever, along with a CDROM containing (a) your sources (ie what the person actually asked for), plus (b) anything else they want to put on that disk, eg demo products, advertisements, a copy of their linux distribution, a copy of their catalog, whatever.

    If you cannot find a dozen companies that would pay oodles for this privilege, then your company needs a new marketing dept.

  • Because the GNU GPL [fsf.org] section 3 reads
    3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do
    one of the following:

    a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

    b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

    c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)


    [Emphasis added]
    --

"Money is the root of all money." -- the moving finger

Working...