RE: License question

mdfst13 <[email protected]> 17 Jun 2003 16:23:38 -0000
Newsgroups gmane.comp.web.oscommerce.gpl
Message-ID <fd287b051ab75c968d1fac8525be9d8f@osCommerce-Forums>
This message was sent from: GNU General Public License
http://forums.oscommerce.com/viewtopic.php?p=183742#183742
----------------------------------------------------------------

[quote="hpdl"]May I ask why you do not want to consider sharing your work with not only your customers, but with the rest of the community?[/quote]
I can think of at least one very good reason not to want to distribute my source code.  The configure.php file is source code (a bunch of define statements).  The configure.php file also includes sensitive information.  In particular, it includes the password I use to access the database.  This is *not* information which I should have to make publicly available.  Frankly, I can consider cases where I would not even want to distribute that information to the customer.

To take this a step further, perhaps I am providing the payment gateway for the customer.  In order to access that data, I add a username/password to the configure.php and/or the payment module.  Should I have to make that available?  Even though it may be my username/password, not anything associated with the customer?

Also, earlier in the thread it was mentioned that GPL 3 will apply once it comes out, because the source code does not mention a version.  I don't think that this is true in the way I understood Jan to mean.  If I receive code under a general version number, it does *not* mean that I have to comply with all terms of *every* license under which it is distributed.  Instead, multiple licensing means that I can pick which license to use.  Thus, if I prefer the terms of GPL 2 to GPL 3 and you offer 2 as an option, I can redistribute under 2.  For me to be restricted by 3, I must be distributed the code under 3.  Otherwise, it is not a restriction but an option.

Btw, I am posting this to illuminate some points that I consider to be worth pondering.  I am perfectly happy to commit actual code changes to the project (it can make future support and development easier for me as well).  However, I would like it to be clear what the rules are.  Further, I think that there are some situations (like the password issue I raised) where pieces of code can reasonably be considered private information.

Overall, this problem is not new.  Various developers have arrived at different responses.  For example, one can link non-GPLed code against the Linux kernel code.  This is because Linus decided that it was unreasonable to demand that anyone who made a system call would have to GPL their product (consider the case of drivers, for example).  The LGPL exists because there are situations in which the GPL is unreasonable.

Note that many people use Apache in exactly this way.  The service of running an Apache web server is rented out, but they do not have to make their code available (modified or not).  However, if you sell an Apache web server binary (or even if you give it away for free), you must provide the source code as well, including any modifications that you may have made.  

It is also worth noting that one of the revenue streams that can fuel development is to sell non-GPLed licenses to the software.  For example, Hans Reiser licenses ReiserFS to companies for inclusion in their proprietary products.  This keeps him fed and allows him to continue to work on development.  If osCommerce is interested in eventually doing this, it should check to make sure that the code submission agreement transfers the necessary rights (i.e. that osCommerce has the right to redistribute code submissions under licenses other than the GPL).  

Note that you also need to have this stated properly if you want to release code submissions under GPL 3 and not GPL 2.  In other words, if it is not clearly stated that osCommerce has the right to change the licensing and you accept a code submission under the GPL 2, you can never include that code in a distribution that says 3 or later (not 2).

--Matt