The GPL And Web Applications 197
eries writes "We recently ran into some licensing problems for a web-based open-source project. Since our project is an OO package written in PHP (a scripting language) the GPL does not quite apply. The GPL is designed to handle "binary redistribution" for software packages, but ours cannot be distributed in binary form. That means that someone could make a website out of a derivitive work and never have to open or disclose their code - an apparent violation of the spirit of the GPL. Now, we think it might be possible to modify the GPL to construe instances of a website sending HTML to be "executed" on a browser as redistribution (more on this later), but we don't really know how to go about it. Consequently, we are forced to try and find another license. We have looked at the Artistic and the APSL, but these are both pretty dubious. Has anyone else run into problems like this? We want to write to both the OSI and FSF and bring this to their attention, so we'd like to find out of others have run into the same situation. You can also check out this related discussion on the Sourceforge forums page.
IMHO, we need a way of defining, in cases like these, what constitutes a derived work. Clearly, things like your db password and content like graphics, logos, layout, etc. are not derived works. But how can we draw the line in the case of added functionality? How is this handled in more traditional content-delivery systems?
Is the HTML produced by our scripts just output? The more I think about it, the more I am convinced that the application that a user is running when they use our software is not just a series of HTML files. Those files, by themselves, are worthless. Instead, their usefulness depends on an awful lot of "state" - the state of the browser (cookies, javascript), the web server, other scripts which the browser has to reconnect to, and the data in the database. The HTML files are just one component of the general state that our app produces. If you construe this more nebuloous "state" as the "binary" application that our software produces, then distributing it to a user via a web server is a non-sourced distirbution, and hence forbidden by the GPL. What do you think? I have to believe that someone running a mod_x application within an Apache server that gives access to it to tons of users is redistributing it without the source, unless you believe that clicking on "View Source" for this /. page you have access to the Slash source..."
Re:This raises questions: (Score:1)
So the table is just data, and it is not copyright-able. The DBMS that made the table may be copyrighted. For ASF the codec maybe copyrighted, and the alrogithms used to compress and decompress the data can be patented.
I sould mention that data is a bit ambigus in this case, a movie may be reduced to 1's and 0's but it is not data in this sense, it's is still a copyright-able work. Data in this sense typicly means something like the distrubution of peoples age in Kentucy or a list of names and phone numbers for the people living in New York City. As far as I can tell the diffrence is between created and collected.
Re:Hmm.... (Score:1)
I don't think that it would be approporiate to require people to make an open directory for people to take them out of... Besides which, source code only needs to be distributed upon request. People could just email requests and have the source returned to them that way.
Re:It doesn't matter what generates the HTML (Score:1)
If you're afraid of this, you'd better not opensource your Web Thingie in the first place.
If Big Bad makes millions of it and gives the sourcecode back, would you mind that? If the answer is yes, because you don't want them to make profit with your software, open source is not the best idea for you. If the answer is no, it doesn't really matter if they give back source or not - it's annoying, nothing more.
Also note that IMHO in your scenario Big Bad does use the software internally - they don't make money distributing the software, they're selling content!
Of course, you're free to write a license that does not have such problems. Chances are, Big Bad will develop their own version of the software, have it closed source, make millions selling their content, and make even more millions by also selling the software. Now that would solve a lot of problems, really.
This has got to be the silliest thing... (Score:4)
If you're going to release your code under a license that fundamentally operates under the theory that people are honorable, you really shouldn't sweat what dishonest people may do with it.
Rendered Services. (Score:1)
In a brief discussion with RMS in Vancouver confirmed it: the GPL provides no such protection. In RMS' mind it doesn't matter, because it's not a matter of code losing its freedom. The fact someone else is gaining without contributing back doesn't bother RMS at all, but was not acceptable to the underwriters of our project.
A review of all the common OSS licenses do not provide protection in regards to this. For this reason, we ended up modifying the NPL slightly into the CommPort Public License (CPPL), which has explicit language about rendered services. If anyone's interested, have a look at http://www.tc.ca/commport/license.html [www.tc.ca].
This has been reviewed by several lawyers, although not yet by the OSI. Feedback from the OSI would be appreciated, BTW.
Re:This is not difficult. (Score:1)
I'd think WGPL would be a more consistent name (think LGPL).
--
TiVo (Score:2)
In the case of a Web application, the binaries (or in this case the interpreted source code) execute only on the server, so the GPL does not technically require you to distribute the source code. In fact, the GPL specifically says:
So, because the source code is open (regardless of the GPL), you can run it without following the GPL at all.
The part about making modifications does seem a little odd, though. Also, this is still a different issue, since there's no binary.
--
Re:GPL allows you to be selfish, just not greedy (Score:1)
By the reasoning you mention, this would not be a violation of the GPL, since the actualy gcc code is being executed by an intermediate program.
If the above really is not a violation, then let's go one step further: assume the product is also sold with an x86 emulator running on... x86.
--
Compare GCC with a web application (Score:1)
In the GCC case definately, and most probably in the second case, it is perfectly reasonable not to need GPL source distribution of the web application.
Note that the GPL is intended to mean that if you get (GPL'd) software in any form, then you also get it in source form. It does not cover what happens when you only get the output of the program (i.e. what goes on the web site). This is pretty much made explicit, if I recall correctly.
John
Re:This raises questions: (Score:1)
No you can't. One thing you can patent, though, is a physical device, and this is often used as a loophole by which patent rights are claimed on an algorithm or idea. If you look at all of the "algorithm patents", almost all of them, if not all, start with something to the effect of, "A system comprised of a computer and software, where the software..." and then describes the algorithm. Unfortunately, the government has turned a blind eye to this sort of abuse of the system, failing to see that the only novel portion of the patent is in the algorithm, which by itself is not patentable.
--
IMHO... (Score:2)
IMHO, the GPL refers to the information content. Once you transfer that GPLed information, then the recipient is obliged to allow any subsequent generation of recipient the same freedoms as every other generation, themselves included.
A "derived work" is any work in which the fundamental information is essentially (> some suitable %-age) the same, allowing for adaptations required for the audience. Any work containing less information that is the same is NOT a derived work, and the duplication falls under the "Fair Usage" clause.
Re:Why not... (Score:1)
The problem arises when more than just websites are run by the ASP model.
The original intention of the GPL was to prevent a situation in which you have data, and because of limitations of the software that created/used that data, at some point in the future you loose access to that data. Imagine, if you had a bunch of files in some old word processing format from the 80's (PFS Write or something like that) - the only legal way to make use of that data would be to buy a copy of that software, which by now would be completley unavailable. So, you'd have to resort to illegal methods, assuming it was possible at all.
Flash forward to the 2010's - you are using a wordprocessor on an ASP's site to edit your work. Let's say you can get access to your files stored on there, but suddenly the company goes belly up. What happens to your data? The software that the ASP was running is completley unavailalbe to you.
The GPL was created to make sure that if you used a Free program to create your data, you'd always be able (one way or another) to have access to a way to interpret it. The question people are asking now is how can we assure the user of an ASP service that they will always be able to have access to the data that they use an ASP's application to manipulate.
(This problem encompasses more than just the software - there are also issues regarding access to the data. But if you could get your data off of an ASP, how could you be guaranteed that you could manipulate it without them?)
Note that this really isn't an issue with most current websites, but as web-based applications become more complex, I'm sure it will be one.
Re:Why not... (Score:2)
That's not the point. The point is that the person using and modifying the software package never has to redistribute it - so the GPL doesn't apply. There is nothing forcing them to make thier changes available if they just execute it on thier servers.
Need an URL? (Score:2)
Is this against the GPL?
Are all future Internet Appliances (with GPL software) going to need a GPL licencse in their manual and way to get access to the source?
Joseph Elwell.
IT RUNS LINUX! (Score:2)
Joseph Elwell.
Where to draw the line? (Score:2)
Bruce
GPL does not cover the ASP model (Score:5)
Bruce
Similar to r.g.m.a thread. (Score:2)
I honestly don't see what the big issue is. It doesn't seem to be terribly against the intent of the GPL to me. The "user" of a website/mud etc. has different needs, goals, and desires than the administrator of the same, and have no need or inherent right to the admin's code changes.
If I were to modify lpd, and use it to print out an essay, would I then need to include the source to lpd upon request to anyone I gave the essay to? Absolutely not; that's ridiculous.
This falls into the same category, in my book.
Same Issue, Different Slant (Score:5)
Let me see if I can't clarify the issue that appears to be at hand here, as people seem to be getting mired in minutiae about what constitutes code.
The GPL outlines only those obligations pertaining to redistribution of code. If you redistribute copies of gcc, you're expected to make the source available, along with all your modifications. If you don't redistribute gcc, you're free to hack it up all you want and you don't have to share your changes with anyone.
Now, let's suppose someone decides to open a compiler farm on the net. You send it source code, and it sends back the compiled binaries. Let us suppose further still that the compiler sitting at the server is a version of gcc that has had tons of local modifications made to it to improve the code generator to at least three-fold over what you can get out of stock gcc.
Question: Does this constitute redistribution for the purposes of the GPL? The gcc binary has never left the server farm, yet gcc's output is being distributed everywhere, and the fruits of those highly-desireable gcc modifications are not being shared among the GPL community.
This appears to be the primary issue at hand. Others will no doubt differ with this interpretation, but it seems to me the GPL was intended to "isolate" software hoarders; that you are free to keep your work to yourself so long as the results/output of that work also remain with yourself. For a large class of problems/jobs, this is perfectly reasonable. But as we see, distributing services based on GPL'd software muddies the water.
It's a thorny problem.
Schwab
Your analogy is completely flawed (Score:2)
Let's say you go to the store and buy a coke. The coke machine runs Linux. Should you get a free CD with every can? No.
Your analogy is completely flawed. Its equivalent in our current understanding of the GPL is a follows:
Let's say you create a document with MS Word. Should you get the source code to Word every time you create a document?
If the author of the software running on the drinks machine releases it under the GPL, and you modify it to power your drinks machine and then sell that drinks machine to soda distributors then yes, you should have to release the source code. If you don't distribute your new drinks machine, then the current GPL says you don't have to release the source. The question is whether or not we need a new license to prevent that.
Hamish
Re:GPL does not cover the ASP model (Score:2)
In my personal opinion, restrictions on _using_ a program make it non-free. RMS criticized Apple's APSL because it attempted to restrict the act of running a program, something which the GPL explicitly does not restrict.
There is at least one program that does roughly what you say - GPLtrans, which translates between human languages. The author has an unusual interpretation of the GPL, namely that just using the program on a publicly viewable website compels you to provide the source. IMHO GPLtrans despite its name is not a true GPLed program because of this strange restriction (which may not carry any legal weight, but still makes the program non-free).
Re:Same Issue, Different Slant (Score:2)
If I modify a GPL'ed program and do not distribute it, am I really depriving you of anything? In some sense, yes, because I am not sharing my improvements with the community I got the original program from. In some sense no, because I'm not actually preventing you from getting at anything.
Now, if I let you reap the benefits of my improvements but don't actually release anything, am I depriving you? Again, yes and no. Yes, because I am not allowing you access to the changes I have made, but you get the benefits. No, because I never released it in the first place, so I am not stopping you from getting at the improvements because they are not there to get at.
Reaping the benefits of a GPL'ed program change without having a release and thus, not having the source code, sounds a bit unethical to me, but it is probably legal. The person is just being an asshole =).
I think, however, modifying the GPL to force a program to be released under the GPL if it is made use of is a bad idea. That's kinda what it's boiling down to. However, a lawyer would word it better
Woz
Re:Why not... (Score:4)
Re:Why not... (Score:2)
If you want to change it, you can't call it the GNU GPL. What you can do is change it, or use it as a basis for your own license, and then give the license a new name of your own. You could probably even say it's a GPL-derivative or modified-GPL license, to let people know that the license is basically the same as the GPL, but with some differences.
While technically the FSF could prevent you from doing this (since they own the copyright on the GPL), it's unlikely that they'd try anything unless you were stepping on their toes (eg. trying to call your new license the GPL).
This raises questions: (Score:2)
GPL allows you to be selfish, just not greedy (Score:3)
If I'm merely using a piece of GPLed software, that does not entitle me to source code (unless in order to use it, I have been given a copy of my own). If I go to a library and sit down in front of an internet kiosk that uses Linux and Gnome for the UI, do I get a complimentary CD or an URL to an FTP site? No. No one has distributed a copy to me, merely given me access to the software.
If I make changes to a piece of GPLed software for my own use, I can keep those changes private. It's "fair use": the term that everyone throws around -- and rightfully so, IMO -- when it comes to translating a book into Braille for my blind cousin or space-shifting CD recordings by ripping them to MP3 format also applies to software (the source code, at least) that I get under the GPL.
Therefore, if you want to require that someone who is using your software publishes the changes to their code, you're going to have to use a different license. (*BSD won't cut it either, since it expressly allows people to keep their modifications private.)
(Slightly off-topic: An interesting test case for the GPL would be GPLed Java applets; since I am being sent java bytecode (which is "object code" or "executable code" or "binaries" or whatever language the GPL uses) then is the software being "distributed" to me?
That could have some important ramfications for the Java community...)
Jay (=
What about KDE's changes to the GPL? (Score:2)
"...but changing it is not allowed."
So, what legal position does this put KDE in, with their addition of the exception clause to the GPL explicitly allowing linkage to qt?
That, after all, is a change to the GPL.
Have folks, in an effort to fix one copyright/licensing problem, stumbled over another. It certainly appears so to me.
As an aside, I should note that I have made fair use of some portions of the GPL, GNU FDL, Open Content License, and others in putting together my Free Media License [openflick.org]. I have the same clause, designed (as with the GPL) to prevent non-free licenses from masquerading as free licenses, but if one were to call the modified license by another name that shouldn't be an issue.
Perhaps I, and in the case of the GPL the FSF, should add a clause explicitly allowing modificatins so long as it is made clear that the modified license is not the Free Media License/GNU GPL
On the other hand, this could become a terrible can of worms for free software/media efforts, with ten million slightly different, slightly incompatible licenses floating around.
Only possible with a restrictive liscence... (Score:2)
hehehe.... (Score:2)
Okay, now.... (Score:3)
Ford can't stop consumers from ripping the ugly "Ford" letters from the front of their trucks. Intel can't prevent me from pulling "Intel inside" stickers from my machines. And fscking "copying a CD for your wife to use in her car does not constitute fair use" Hillary Rosen-bitch can't prevent me from singing a duet with Britney and Lars and recording it on a tape recorder for my own use.
The only way you can hope to achieve branding on a product is by forcing your client into an agreement that says "my logos and obnoxious shit
must be included in implementations of my product that you use in your website."
Quite simply, you are selling a script. A script is code, and can be protected from proprietary redistribution under GPL... as in, if they make changes, they can't simply release it under _another_ liscence. They can release it still under the GPL though, without owing any money to you. That is why GPL doesn't work for you in what you want to do, has nothing to do with binary distribution....
I believe you simply want to "copyright" your source code in this case. As long as it falls into the "fair use" categoties of copyright law, you customers can then do whatever they want to with it up to a certain degree of internal copying. Your customers can go into and make changes for themselves, like inking notes into the margins of a book, but that's about it.
You'll never achieve what you want to do and manage to make any money off of your product.
Quit digging so deep.
Internal Use and ASP use -is- the same thing..... (Score:3)
Nobody in their right mind is going to buy a product like yours without making changes internally to fit their needs. In a capitalist system, expect them to either go straight to one of your competitors or they might even hire a contractor.
It's like buying a britney spears album. Under standard copyright law, I would buy it for $18 (rhetorically). But if the packaging said "Hey, you can't make a copy of this CD for any purpose whatsoever, you can't make an MP3 of it, you can't dispose of the jewel case or the packaging, and you sure as hell can't play any part of it in a public setting where more than 2 people are present." You simply won't buy it. Neither will anyone buy your scripts if you are going to bind their hands like that.
Expecting them not to resell your product is reasonable. Expecting them not to change the scripts to fit their needs and desires is out of the question. Do it, they will _NEVER_ buy it.
In fact, you _are_ wrong. (Score:4)
Binary means MACHINE READABLE.
HTML is HUMAN READABLE. HTML is a human-readable format used to specify document formatting.
I can write down an HTML document on paper as easily as I can type it in a word processor.
The only advantage HTML has on computers is that, when entered in a word processor and passed through a browser, it'll enable me to look at a pretty page and links.
Yes, you can store HTML documents in binary form. But you can do the same with music. That does not mean music is binary data, not anymore than an html formatted document.
As far as "HTML generation" goes in this question, it pertains to a whiny moron who doesn't understand copyright (like most Napster users) and who wants to get a lot of money for doing very little. Most people like that are classified as "marketers"
What constitues derivative works (Score:4)
With that said, I do not believe that running a web-based application is equivalent to redistribution-without-source, as you suggest. If I install a program on a remote computer, then open an Xterm window to interact with it on my local workstation, I haven't redistributed the initial app, despite the fact that my workstation and the remote server are exchanging all kinds of information necessary to my interaction with the application. I'm merely accessing it using another means. If that was really redistribution without source, then anyone taking advantage of the Compaq Test Drive [compaq.com] on a Linux server would have caused Compaq to violate the GPL.
Similarly, if I set up an Enzyme driven site and open it up to the world, I haven't redistributed the code, even in binary form. I'm letting people interact with it to produce output specifically tailored for their needs, using an intermediary program (Netscape, Lynx, Mozilla, IE...) of their choosing.
While from a design point of view, it's nice that you can view all of the elements of a web-driven system - database, server, client, network - as a unified whole, it isn't. At least, not as far as the GPL is concerned. Your program rides piggyback on a web server, process requests based on the clients' requests, and transmits information back accordingly. And that's all.
Re:In fact, you _are_ wrong. (Score:4)
Re:make it binary. (Score:2)
Yes, you are. The issue has nothing to do with binary distributions. The guy wants to distribute some scripts that run on servers. And he wants a license that, if someone modifies those scripts and runs them on a publicly-accessible server (a public performance, not a redistribution), that they will have to publish their changes to the scripts.
GPL won't give him what he wants, and there isn't any way that taring the scripts (or whatever) is going to change that. He needs a different kind of license.
---
Re:TiVo (Score:3)
On the other hand, if (say) CBS used a modified version of Linux to produce one of their TV shows, they would not have to offer their source code to anyone who watched the show, since the show does not contain anything derived from GPL'ed software.
--
I have the same problem. (Score:2)
AEIWI [aeiwi.com]
Which I am considering to release as open software.
But I have the same problem with the GPL.
It only tells people to release source code for
changes if they distributate the binaries.
So, they can take my code make some of changes,
run there web service without giving back the changes
to the community.
This will give them a edge compared to me,
therefore I hesitate to take the GPL step.
I was recently a conference called Linux@work in Copenhagen (Denmark).
There I talk with Thimothy E. Ney
from the free software foundation about it.
He told me that he would have to talk
with mr. Stallman about it.
I haven't hear from him since and I have been busy too.
Maybe a way to solve this is,
that you should make the source available
not if you make the binary available
but if you make the functionality aveilable.
Knud
Do you really want to kill commercial use? (Score:2)
While some people see this "loophole" as a flaw(CmdrTaco included) I see it as being a *neccesary* "loophole" if you want the commercial Internet industry to adopt open source/Free software.
Why would I use Free software for my web based application if I had to redistribute my code?
If my only means of competing right now are features, performance, database (I.E. the breadth and depth of data -- content, etc...), and marketing then this would eliminate features and performance as a competitive advantage. Not all web based companies are content-based like Slashdot: Some, like Hotmail, are based on functionality.
It just doesn't make business sense to have to redistribute your code unless your code doesn't give you a significant competitive advantage. So for sites like Slashdot it's not a problem. For sites like Hotmail, eProject.com, or wherver -- it's a problem.
My employer uses Perl, Apache, Linux, MySQL, and other such systems right now. If the licenses were changed such that we'd have to redistribute our code, we'd be forced to either not upgrade to a version under the new license, or to rewrite everything in a system that doesn't have such draconian licensing.
The ideals of the Free software movement are all well and good, but even RMS hasn't shown a viable (read: profitable) business model that fully adopts them -- and even if he could, one business model doesn't cover every idea.
-JF
Re:Do you really want to kill commercial use? (Score:2)
Hotmail's choice of OS is irrelvent to my point. I was making a comment about their *business model* being such that forcing them to give up their source code would entirely eliminate Open Source/Free Software as an option for them. The same would apply if they were using Hurd, or NT.
Slashdot can afford to give away the Slash engine source -- their business model doesn't center around the functionality of the site, but rather the content.
-JF
Re:Where to draw the line? (Score:3)
But *I* use OS software so that I *own* the software on my computer just as strongly as I own the computer itself. Non-OS software has a weak sense of ownership: I can use it, but I can't pass it on or modify it. The coke machine is even weaker, to the point where (I think) it doesn't make sense to say I own the software on the machine. I used it once, but it belongs to someone else.
Think of it this way: You go to your friend's house and play a cool game he has. Should he be required to send you home with the source code? I don't think so.
--
No no no no (Score:4)
The purpose of the GPL is put software back (as far as is possible) to the state of other information. Once you've been given some "information" you are free to tell other people and put any spin on it you want. So you can freely redistribute the binaries (that's the telling other people) and you have to give out the source code (so they can put their own spin on it).
But when I use a website, the only information I'm getting is what's shown on the browser. That's not to say you couldn't create a license that required a licensee to allow users to download the code--but it's not what the GPL is about.
--
Re:GPL does not cover the ASP model (Score:3)
It would be unfortunate if software written using a GPL tool for public use was automatically required to be distributed in source form. Instead the application could (at the discretion of the developer) be deployed under the SGPL.
What do you think?
--
Take a look at the licence notes for BISON... (Score:3)
The intent was to give the Bison program the protection of the GPL, but to allow the output to be used howerer one pleased.
Unfortunately in my half asleep state i don't remember the details of how they pulled it off, so go and check it out before i put my foot in my mouth trying to explain it.
Re:Actually... (Score:2)
Of course, there's the nub of the issue: these sites aren't SELLING a modified version of anything; they're modifying the source for internal use, and using it to serve pages. Serving content - no matter what form that content takes - is not a form of redistribution of the original application. They're not trying to sell a precompiled form of the app - they keep their modifications to themselves.
The GPL has always at least given companies that right - to use GPL'd software, modify it for their own purposes, and not to have to redistribute their changes - as long as they don't distribute their new app outside of the company.
Simon
Re:Why not... (Score:2)
Eventual solution: Zend Compiler (Score:2)
The Zend Compiler, to be released later this year, allows code developers to compile their PHP script before distributing it. By saving the code in a closed Zend Intermediate Code format, the compiler allows developers to protect source code from copyright infringement, enabling companies to create exclusive software solutions and commercial PHP applications.
Business-oriented developers who want to enjoy the benefits of PHP scripting, without exposing their source code, will find the Zend Compiler indispensible for all mission critical business applications that must protect the source code from copyright infringement. This product provides copyright and intellectual property protection, opening the way for the widespread acceptance of PHP for business and commercial applications, where protection of proprietary information is of primary concern.
http://www.zend.com/zend/products.ph p#compiler [zend.com]
------
Scott Stevenson
Re:No no no no (Score:3)
But you must have a port in the side of the machine to allow people to download your soda-dispensing software to their laptops =)
Re:No no no no (Score:2)
I guess it really depends on the determination of "redistribution". I can see a company taking a GPLed program source and using it to serve some intranet function without having to make the source available to the public. But once the functionality of that modified program is opened up to the public at large, I think that could be considered a "redistribution", and the public should have the right to that source.
Re:breakdown (Score:3)
Say I write a piece of C code, and compile it with gcc. Is the binary a derivative work? No.
I think there should be a new license set up for distributed output applications. The GPL doesn't really apply.
Re:Your analogy is completely flawed (Score:2)
But you only have to release it to the soda distributors that bought your drinks machine, and then only if they ask for it.
-- Abigail
Re:What do you recommend? (Score:2)
The spirit of the GPL is to allow what you are argueing about. The spirit of GPL is not you make a modification on your private copy, and now you have to release it (thank god it doesn't. Do you really want that each and every typo, bug and trial that is made by Linus and gcc developers have to be released?) The spirit of gcc is that if you distribute you have to disclose.
What you want is something that restricts usuage. GPL doesn't cover usuage. GPL covers distribution.
The closest we've found so far is the Artistic - is that good enough?
The Artistic license is poorly phrased, but has a great spirit. It's far, far loser than GPL, and explicitely allows in-house modifications. The spirit of the Artistic license is "I was nice. It would be nice if you are nice too. But there are enough loopholes in here to do what you want if you aren't nice." The Artistic license was made for Perl. Larry cares more about making nice things available than preventing people from doing what they want. And guess what? After more than a dozen years, it's very popular, and it doesn't need a scary license; people are doing with Perl what they want. And the source will always be available.
-- Abigail
Re:Actually... (Score:2)
Eh, no, you don't. You don't have to make the changes public in any way. All you need to do is provide the people you sold the modified version of Emacs to with the source. And only if they ask. You cannot prevent them from making the source code available, but they don't have to.
To give an example. If I make a modification to emacs, and sell it to some person X, and you ask me for the changes, I do not have to give them to you. If X asks me, I have to. X might give them to you, but as long as X doesn't give you the modified version of emacs, X does not have to.
-- Abigail
Re:Against the spirit of the GPL. (Score:2)
It looks to me that you do not want people to use your code as they wish. They can use it, but not make money of it, and all modifications have to be funnelled back. Doesn't that sound a lot like the original Netscape license, and Sun's open source license, before the entire Open Source community fell over them?
You want to make restricted, non-free software available. Picking a license from the Free Software Foundation wasn't the smartest idea.
-- Abigail
Re:Your analogy is completely flawed (Score:2)
No. From the license:
And later in the more legal area:
The keyword being accompany.-- Abigail
Re:What is the problem? (Score:2)
The fact that it also produces Javascript and SQL is irrelevant. It's still a compiler: it takes some input, it generates some machine readable output.
This is simply not true of a compiler, which is a one-time, one-output, non-interactive experience.
I guess you've never run the Configure script of Perl. ;-) Compiling often is not a one-time, one-input, non-interactive experience. Sure, it is when you all you have is a tarball, and you run ./configure;make. But if you are developping, you write code, you compile, change, compile again, change more, etc. Many times, varying input, and interactive. However, that isn't relevant. Those are just user interface details.
What do you recommend?
My recommendation is that you either keep your work proprietary, or make it free. And free means that other people can use it to make money out of it. I don't think the attitude of "here's some code, but don't dare to use it and make money with it" does anyone any good.
-- Abigail
Re:What do you recommend? (Score:2)
You might think so, but there isn't anything in the GPL that suggests in that direction. There is no publication, nor a distribution of any code. Not in binary, nor in source format. Taking someones input, running the program, then serving the output is not distribution.
-- Abigail
Re:What is the problem? (Score:2)
For exactly the same reason you can modify gcc, compile a program with it, and sell the binary for mega-bucks. GPL gives you one right: that a binary comes with source (or at least, has a pointer to it). GPL does not restrict usuage. Software with usuage restrictions is not free. Freedom can be achieved by giving up your own rights, and hence increasing the rights of others. Freedom cannot be gained by demanding others give up rights.
-- Abigail
Re:What is the problem? (Score:2)
So, my question to you is, if you publish some software, someone takes your software, modifies it, and make the output available, what exactly did you lose? (And remember, to have lost something, you first must have had it).
-- Abigail
What is the problem? (Score:3)
I don't think violates the spirit of the GPL. In fact, it's explicitely allowed. It looks like your program is basically a compiler. It just doesn't generate machine or byte code, it generates HTML. Same difference. And we all know that gcc does NOT produce derived works. Furthermore, I can make all the changes to gcc I want, without having to disclose anything. The spirit of gcc is that I cannot distribute anything without disclosure. But in-house, I can do anything I want.
I am not the biggest fan of GPL, but I don't see the problem here. Well, I do see a problem - but not with GPL. Apparently, you are using a license you are not happy with. In stead of trying to change the license, why don't you pick another license?
-- Abigail
What do you recommend? (Score:2)
not talking about internal use... (Score:2)
I agree with this statement, but the case I'm worried about has nothing to do with internal use. I'm talking about someone making money off our code by sharing it will thousands of _external_ users. Surely that's not just internal fair use, even though my code never leaves their internal servers....
Additional discussion at K5 (Score:2)
Re:Additional discussion at K5 (Score:2)
Actually... (Score:2)
Re:Against the spirit of the GPL. (Score:2)
Re:Actually... (Score:2)
Re:But.... (Score:2)
Re:Against the spirit of the GPL. (Score:2)
Re:What do you recommend? (Score:2)
Re:What is the problem? (Score:2)
And just for the record, I'll point out that it's quite a stretch to say that our program is a compiler. It produces HTML, but also Javascript and SQL, depending on how it is invoked via a continuous, session-based interaction with the user. This is simply not true of a compiler, which is a one-time, one-output, non-interactive experience.
Re:Please just don't do it (Score:2)
Re:GPL allows you to be selfish, just not greedy (Score:2)
Re:Rendered Services. (Score:2)
Re:GPL allows you to be selfish, just not greedy (Score:2)
Re:What is the problem? (Score:2)
My analogy vs. the compiler is kind of a red herring. I don't mean to imply that compilation is simple. I just wanted to show that it's not like our scripts just generate HTML, which can then be taken to any machine at any time and executed, like a traditional binary. Instead, what makes our scripts useful is the unique combination of HTML and other data that they make available to the user in the course of a session.
Re:Do you really want to kill commercial use? (Score:2)
Note that this is NOT the same as a company deploying a proprietary service on top of Apache/MySQL/Linux - only the case of a company creating a derived work from an existing open-source project.
I don't want commercial software developers to "adopt" open-source (or FAIS) software - I want them to participate in the process of creating it. That's good business practice. How do I know? Because I am a commercial software developer.
Re:What is the problem? (Score:2)
"The simplest way to make a program free is to put it in the public domain (18k characters), uncopyrighted. This allows people to share the program and their improvements, if they are so minded. But it also allows uncooperative people to convert the program into proprietary software (18k characters). They can make changes, many or few, and distribute the result as a proprietary product. People who receive the program in that modified form do not have the freedom that the original author gave them; the middleman has stripped it away.
"In the GNU project, our aim is to give all users the freedom to redistribute and change GNU software. If middlemen could strip off the freedom, we might have many users, but those users would not have freedom. So instead of putting GNU software in the public domain, we ``copyleft'' it. Copyleft says that anyone who redistributes the software, with or without changes, must pass along the freedom to further copy and change it. Copyleft guarantees that every user has freedom. "
My question that I keep hammering at is whether or not the effect of considering a web application as simply "output" rather than a "redistribution" is to allow this freedom to be stripped out by a middle man. What do you think?
Re:breakdown (Score:2)
"The simplest way to make a program free is to put it in the public domain (18k characters), uncopyrighted. This allows people to share the program and their improvements, if they are so minded. But it also allows uncooperative people to convert the program into proprietary software (18k characters). They can make changes, many or few, and distribute the result as a proprietary product. People who receive the program in that modified form do not have the freedom that the original author gave them; the middleman has stripped it away.
"In the GNU project, our aim is to give all users the freedom to redistribute and change GNU software. If middlemen could strip off the freedom, we might have many users, but those users would not have freedom. So instead of putting GNU software in the public domain, we ``copyleft'' it. Copyleft says that anyone who redistributes the software, with or without changes, must pass along the freedom to further copy and change it. Copyleft guarantees that every user has freedom. "
Re:Eventual solution: Zend Compiler (Score:2)
Re:Violating GPL with X? (Score:2)
No no no no! (Score:4)
The FS does NOT, I'll say it again, does NOT control what is considered a derivative work! This is determined by U.S. Copyright Law. It is impossible to add a clause to the GPL saying that "content generated by this product is a derivative work". It has NOTHING to do with the medium you're sending it through or any of that garbage. It has to do with what copyright law says is a derivative work.
Re:No no no no (Score:2)
I don't think I'd want to force users of the code to have to maintain a source distribution just so they can run their modified code on their own website. If they're cool they'll submit fixes/changes back to the project anyway, but are not required to do so.
numb
RMS on Plan 9 License -- similar (Score:2)
Now, I think RMS is a communist egomaniac, and while I don't think requiring disclosure of internal changes is any less free than "our API is GPL infected", I do agree that it's a bad idea.
Want to make sure no one uses your software? Release it with a requirement that internal modifications must be rereleased.
The reason that people accept the GPL is because they don't think it's fair that someone can close the source, and sell a product which is mostly someone else's work, and no one else can sell that product (even the original author). Another option would be prohibiting it from being sold, but it turns out that the GPL with companies selling it is a much better business model.
Think of the analogies to other information. You write an essay and give me a copy. Should I be able to translate it to german and sell it to a magazine under my own name? No, you probably want to prohibit that, and people think you are justified in prohibiting that. Okay, now you gave me your article, and I add some comments to my own version: "look up this reference", "I don't think this is correct", "reminds me of that nut with the funny name", etc. But I don't give it to anyone. Should I be required to / do you have the right to force me to disclose those comments.
Re:Internal Use and ASP use -is- the same thing... (Score:2)
I can't say I'd be opposed to that particular restriction...
This is really not something to worry about (Score:3)
The whole concept is based on the idea that with many users who only use the service a little bit, you can try for small usage based fees. That will go the same route as web-based email that you pay for, or portals. The barrier to entry is so low that anyone can talk a few mill out of VC and start a service that is "free for now, while we build a customer base." Soon they realize that charging people money instantly destroys all loyalty, and they'll be in the "we're exploring alternative revenue models" phase, and then they will either be bought by Yahoo or Yahoo will add the same service, and the hype will move on. That's if anybody wants to use their tool in the first place.
Web based application columnists come up with a variety of false arguments as to why they might succeed:
1) Customer's local computing power won't be up to the requirements of the software provided over the web.
Yeah, right. The network delay will be roughly equal to the longer execution time. The types of applications put forward as good candidates for this often include photo editing or otherwise require a lot of data transfer. And even the "network computers" are basically fairly powerful PCs.
2) The tasks will be things the user does so infrequently that purchasing the software is not justified, but a small fee might be.
Most of the cost of software, especially Free Software, is in learning how to use it, which you still have to do over the web. If you make it easy to learn to use, someone else will see the improvements and make the GPL'd software it was derived from easier to use.
3) I have a niche market piece of software -- only aqua farmers with seven webbed toes on their right foot will need it once every five years -- so no competition will appear. This market would be impossible for anyone else, but with web I reach every seven toed fish farmer in the world !
There's a reason why no one else will try to compete with you. Think about it. Also think carefully about why you can't reach every seven toed fish farmer with a download site for the software. What advantage does a web based app offer here ?
4) Somebody famous said "the network is the computer" at some marketing seminar I went to. I think his name was Ellison. Everybody was clapping ! He's rich, right ? And I read in Datamation that Microsoft is interested in web based apps !
Get a socially useful job like garbage collection or lettuce picking, there is no place for you in the new economy.
Summary:
Don't screw with the GPL, which is working well and changing the world. Just let these web based application providers compete the hell out of each other and gradually become another selection on yahoo, which will still make money from banner ads. Sure, some people will do nasty things with copies of the software you wrote, and some portion of the brainless masses that also run windows will fall victim to them. Don't worry about it, because those dimwits will give up the practical benefits of free software while entering a business that is completely untenable.
Re:Hmm.... (Score:2)
I would love such a thing.
Not only would it make it possible to read code, it would encourage good programming practices. No longer could people assume "This is invisible, I can be stupid and handle data insecurely and noone will ever know"
Re:Copyleft and Copyright (Score:2)
There is no way input or output can be made to be associated with the program itself.
breakdown (Score:2)
kick some CAD [cadfu.com]
It was a GPL exception. (Score:2)
<O
( \
Framing a Java applet (Score:2)
In fact I'm not even sure they can force you to only run the java code within their web page.
That would be considered the same thing (according to © standards) as framing an HTML page. The same court decisions would apply.
<O
( \
Against the spirit of the GPL. (Score:2)
What you're asking to do is against the spirit of the GPL and the Free Software movement. The point of Free Software is to make sure that you have access to the code, so that if you want to make your own private modifications, you can do so. To ensure that is the case, the GPL requires that the software not be redistributed unless interested parties can gain access to the code. As you correctly note, that means that as long as the software isn't redistributed the modifiers don't have to distribute the source to their modifications.
What you are seeking to do is to take away some of the freedom from the Free Software, by making the user redistribute the code, even if he doesn't want to, just because the output of the code is distributed. There are a lot of practical, even ethical, reasons not to redistribute your own private mods (such as unwillingness to fork the project).
Bottom line is that as long as the sofware is free, in the free-speech sense, it's going to be perfectly valid to add your own private modifications to it and still distribute the output from running the code any way you like. Anything less, and it wouldn't be free software.
Use a different license (Score:4)
Just because it's not GPL'd doesn't make it the end of the world, no offense.
It doesn't matter what generates the HTML (Score:3)
I don't see where the big dillemma is. We have licenses for server code, and we have plenty of flexibility with copyrighting (or not copyrighting) the content.
Re:Use a different license (Score:2)
With standard licenses (or better, no licenses on software) you can at least say "Oh, this is the GPL, I know what I'm agreeing to" or "This is the MSL, I know not to agree to it because I have to fuck a goat or pay $50 each time I start the program -- even after it crashes."
Refrag
What about the output from Apache? (Score:2)
Surely what comes out is a derivative work of the data which goes in.
If i take the source of apache, and compile it, i get:
Source -> Compiler -> Binary
and in that case the binary output is a derivative of the source (protected by GPL), no one would ever really argue that it's derived from the compiler.
Now if i say convert a bmp image into a jpeg then we have:
Bitmap -> Converter -> Jpeg
This time the binary output is again a derivative of the source, and again not a derivative of the compiler.
And now the website example:
Database Output, User Input & Cookies -> Apache & Php -> Html
The output is once again derived from the input, and not from apache.
Does that make any sense?
Re:HTML ! != Binary (Score:2)
noahbagels wrote:
You are giving a lot of credit to judges and juries-- credit that, at least here in the States, is undeserved.I think that given a highly-enough paid lawyer, a jury here in the good ole US of A could be made to think that computers store their data on cow pies. Look at the numerous examples: Johnny Cochrane and OJ Simpson leap to mind.
Here in Florida, poor sick smokers have been awarded amost a TRILLION DOLLARS, I think, in punitive damages as a reward for their stupidity in choosing to use a LEGAL product that everyone knows will eventually kill you. Perhaps we should take up drinking Drano now so we can get in on the next gravy train!
[/rant]
Why not... (Score:3)
I think you are mistaken (bison, yacc etc) (Score:2)
I suspect you are mistaken. The output of a GPL'd program does not fall under the GPL.
Consider bison (http://www.gnu.org/software/bison/biso n.html [gnu.org] (which has (as well as yacc) been around a while so this issue is nothing new)) which generates C code .. this is from the bison documentation:
So there you have it.
Violating GPL with X? (Score:2)
The GPL and server apps (Score:2)