The GPL And Web Applications
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..."
Databases are not copyright-able in the US. IANAL but by my understanting you cannot copyright data or information, you can patent an idea, or algorithm but not copyright, and you can copyright the implementation of an idea or algorithm.
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.
I've got lots of usernames, passwords, file and directory locations, etc hard coded into my CGI's...
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.
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.
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.
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.
This has been reviewed by several lawyers, although not yet by the OSI. Feedback from the OSI would be appreciated, BTW.
I'd think WGPL would be a more consistent name (think LGPL).
--
$x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
$x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
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.
--
$x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
$x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
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.
--
Linux user since early January 1992.
A web application that relies on some other GPL programs in order to run, but where the software is not redistributed is a little like a software house that -relies- upon GCC to compile their software. Without GCC their software would not work (not without modification so that another compiler could be used). Similarly, without the free software used to power the web application, the web software would not work (again, not without modification).
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
John_Chalisque
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, 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.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
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.
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.
How about this, I just got a virgin webplayer from www.virginconnectme.com. It runs linux. For starters the 6 page warranty/license booklet didn't mention linux or the GPL anywhere. The website at www.virginconnectme.com doesn't either. But merinta.com has announcments they've made about the virgin webplayer and it's Linux Operating system - but again, no way to download the source for the OS they've installed on my machine. I even tried emailing virginconnectme.com, merinta, and boundless (merinta's parent company) with a request for source code - all emails were ignored. (no reply was ever received).
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.
Joseph Elwell.
If I or say, my company use some GPL'd software, but we don't sell or give the software to someone else, we are not required by the GPL to share the code we added with anyone. What if we setup an application server that runs the code, and we sell access to the application server? Absolutely nothing. We are allowing the 3rd party to run the software, but we are not giving them a copy of it. We are not selling or distributing the software. We are distributing the USE of the software.
The same goes for web based applications. The only time the GPL would be enforced is if they were selling or redistributing the software for other people to download and install/use. If you wrote a message board in PHP, distributed it under the GPL, and someone took it and added the board to a paid website, or offered the service of hosting custom discussion boards for a fee, and they modified the software a bit, would you or anyone else be entitled to their changes? No, not unless they sold or distributed the actual software.
So, if you want people to have to give back changes even if they don't distribute the application and/or don't want anyone to make money off of your work, right your own license.
BTW, visit zend.com, they will be providing a bytecode compiler for php4 eventually.
Actually you do buy it; cd's routinely come with small print prohibiting rebroadcasting and public performance. (And does so notoriously unjustly: in the UK if you want to play music in a bar or cafe you are required to buy a license - the money from which goes to big record labels according to someones of idea of what music is being played nationally - thus ensuring your money ends up with Britney Spears regardless of the fact that you have a music policy stating "only records on obscure labels that never release more than 50 copies". Public Libraries in the UK have to take part in a similar scheme just for lending books.)
And packaging? -books (at least in the UK - the Americans one I have to hand (O'RA) contain only a no warranties disclaimer) routine having the following clause inserted:
Paul M
"There are no innocent bystanders
What where they doing there in the first place"
Paul M
"There are no innocent bystanders. What where they doing there in the first place"
William S Burroughs
Bruce
Bruce Perens.
Bruce
Bruce Perens.
The source code in theory could be useless: It may require special hardware or connections that only the service provider has. Thus having the source code may not allow you to use the service, but you can use the service without having the source code. This implies that they are not really linked.
On a more practical note, it is likely the "modifications" of the software include the insertion of encryption keys and passwords. Distributing this would be extremely detrimental to the service provider. And we can't go and say "the GPL allows you to delete sensitive parts of the code" since that would break the GPL entirely.
I don't even see any problem with the "special enhanced gcc compiler" that was suggested. This is a service. I suppose it could subjugate the GPL on gcc, but I really doubt any possible enhancement would make this service viable anyways (reverse engineering it would be pretty easy and likely).
Now if the service provider helps another provider to set up the service by giving them the program, they must provide the code under the GPL. That second provider can keep the code to itself, modify it, or give it away to the general public.
This is similar to a discussion on rec.games.mud.admin late last year -- similar concept. You can take a GPL mud driver, make changes to it, and allow people to use it, but never have to release the code if you don't redistribute it.
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.
Software licenses will always have these complex problems of intrepretation. If you really want to make your software free, make the source code public domain.
Don't get me wrong... I support the GPL and similar licenses and will take Free Software over the restricted stuff any day.
But the problem with intellectual property is that it doesn't actually exist anywhere except in our heads. So every single person in the world could possibly have their own unique idea of exactly what bits make up a particular piece of software.
If you recompile a program for a different architcture, is it the same program? What if you port it "function-for-function" to a different language? What if you write a program that generates a program? What if you run it on an emulator? What if you run an interpreter on an old program which was originally meant to be compiled? What if you quit your job and write a competing program from scratch, that looks very similar because you wrote the original? What if you conincidentally come up with a piece of code that looks very similar to somebody else's program which you have never seen before?
This is why we have judges in our system, to answer all the silly questions that laws make us ask. But do you really want some stuffy ex-lawyer determining who owns your thoughts? Remember, intellectual property only exists in people's heads. Intelluctual property is dangerous, and will become more dangerous with each technological advance we make.
Besides, copyright laws steal from us all the wonderful benefits of copying. Most people don't miss these benefits because they've never really had them.
Copyright is dead, it just doesn't know it yet.
-- laws are the opinions of politicians --
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
Editor, A1-AAA AmeriCaptions
There's your problem, then. You have two disparate goals in the same sentence.
I think your sentence might be better stated as, "We don't object to people making modifications, in fact we really want them; we want to make you increase the value of our IPO." Or else, "We're trying to pretend like we understand free software, but really, don't I have a right to everything you produce?"
Are you sure? My understanding of the GPL if you use GPL'ed software in your product, and you make your product available, then you have to make the source available to everyone, not just those who have bought your product.
Hamish
"Wise men talk because they have something to say; fools, because they have to say something" - Plato
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
"Wise men talk because they have something to say; fools, because they have to say something" - Plato
I wouldn't expect the output of a GPLed program to also be covered under GPL. GPL clearly states that the person with the binary should have the source since the user of the web application doesn't have access to the binary of the application there for the person doesn't need to have the source. That doesn't mean that people shouldn't have the source. But that is just my thoughts on it.
If we want to use the GPL to pry open web site back end code, what we need is a license clause that specifies that the source code must be made available not only based on receipt of the binaries, but also based on the execution of the code, whether locally or remotely. Whether the server is using a script, HTML, binary code, or other methods won't matter then.
The real question is whether a good enough GPL code library will exist to persuade developers to include the "viral" GPL code in their development efforts. If the available GPL code isn't relevant, useful, or non-obvious, web site developers will avoid containing it, as it certainly will involve extra effort to make the source available to Joe Surfer.
If such an execution clause is included in the GPL that attempts to cover all GPL software, expect a mad rush toward BSD-style licenses.
I'm in the middle on this one. I think it's probably a good idea to try to pry open the back ends of as many web sites as possible now, before closed-source, secret code becomes any more encrusted. But I don't think many people will like the idea much.
It used to be that "view source" would let you see what was in the back office, as almost all pages were pretty static. But with dynamic content generation, it's pretty obvious the landscape has changed a lot. It's also becoming increasingly obvious that what runs on the server is much more important than what runs on the client, and will become even more so as time goes on.
More correctly, you can't change it and then try to pass it off as the GPL. That'd be like tyring to take Microsoft's EULA, changing it, and then trying to say "No, look, it's still the MS EULA".
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).
Quidquid latine dictum sit, altum viditur.
You can change GPLd code as much as you want, however, if you distribute it (and only if you distribute it) do you have to also distribute the sources (or at lease facilitate the distribution - ftp, media cost only, etc).
Can you copyright a SQL table? You apparently can patent/copyright a file format (MS ASF is).
I may be missing the point here...flame away if I am...
can't the distributed work be placed in a binary file? like a tarball? and ta-dah! it's a binary to be distributed. or am I missing something?
I post links to stuff here
The GPL isn't a license for use, it's a license for distribution. If they're not distributing copies of the modified work, then they're not obligated to distribute the source either.
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 (=
I quote the GPL:
... after all, the creator of a Work has the privelege of licensing their work under any license they desire, which should logically include a modified GPL...
"...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. 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.
The Future of Human Evolution: Autonomy
that says any work you do on our code must be open back to the public. A "billion dollar IPO" is completely irrelevant.
I would never subject anyone to listening to Spear's crap anyway ;)
You can not prevent internal derivative works. Period.
.... Only really stupid people would agree to those terms. Smart buisnessmen would simply contract a web firm to build that stuff for them on an hourly basis if it was worth having, anyway.
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.
Unless you get them to sign a contract or enter into a brain-dead liscence. Nobody is going to buy or use a product with the restricitons you want to put on it.
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.
Binary is meant, as far as the GPL is concered, as "executable, compiled, binary machine code."
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"
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 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.
The IBM license permits users to copy and reuse the source code taht it applies to. I am administering a PHP/Opensource project that has opted to use this license and we have found it to meet our needs. As opposed to the source code being binary in nature, the source code is the server side scripts that generate the public domain HTML that everybody sees and uses.
We feel that the final product (web site code simliar to SlashCode) should include a link to the license and a link to download the sourcecode. This way the license is satisfied with being displayed to the public in a conspicuous location.
No, the GPL is not covered by the GPL. It is 100% controlled by the FSF (notice the copyright at the top).
But I'm sure that the FSF is willing to take suggestions.
There are many programs that are GPLd plus an extention to the GPL. You could use an addendum that fits your purposes. There are even drivers in the linux kernel that include GPL addendums (that say something like "If you base your driver on this, not only does it have to be GPLd as well, but it has to include the following message at the top of the source file...") The GPL can't possibly be the ideal free software license for everything, you need to pick the proper licence for your case. It sounds like for you a modified GPL is just the ticket.
AFAIK the output and contents of a webpage, no matter how they are generated, are copyright to the creator of that page. I think that the person who owns the rights over the scripts/programs that generated a page, owns the rights to the information it generates. If you wanted to open-source the webpage output, you could explicitly say something like "the information on this site is open to anyone for any use (copyleft)" and if you wanted to retain full rights, say "Copyright so-and-so... blah blah blah"..
That is, under copyleft, anyone could use the information as long as they don't modify it. Under copyright they would have to obtain your permission (usually a licence fee) to use or distribute it.
If a program generates a map of an area, then the resulting map would be the copyrighted work of the owner of the script - I built a script that could create this work. If the script was open source then anyone should be freely able to use the generated data. If it is closed then you must obtain permission first (which could allow the copyright owner to release their 'right' and allow free-use).
But thats just my opinion.
Price, Quality, Time. Pick none. What, you thought you had a choice?
If it's copyright on the actual content delivered that you are worried about, I think this is conceptually and morally similar to copywriting a work of art. Let's say that someone say to themselves, "I like the general layout and function of the Slashdot website, I bet I could put together a website from scratch that was pretty similar, but make a profit from it." Is this very different from someone saying, "I really like the music of Metallica, I bet I could put together a band playing the same sort of heavy metal, and get just as rich."
We might slate the band for being derivative, and they might or might not get rich, but at what point is it reasonable for Metallica to sue them for being derivative? (I should point out here that this is a completely hypothetical analogy, I've never heard that Metallica have done anything remotely similar to this. No offense James, Lars, et al.)
However might point is that if someone rips off the form of something but does all the engineering themselves, I don't think they can be accused of stealing something - all art is built on the work of earlier artists. Nobody creates in a vacuum.
If someone were to get hold of the server-side scripts however, and modify them without releasing them, that would obviously be a different matter. I don't know how the GPL covers things like server-side scripting. Client-side scripting might be a bit of grey area.
In summary I guess I'd like to say if someone rips off your ideas, they are paying you the ultimate compliment. If you didn't want people to use them, you shouldn't have put them out there in the first place.
Never trust a man in a blue trench coat, Never drive a car when you're dead
Maybe have the cgi/perl/etc. in an openly browseable Directory? So that people could view and download them? Might be a good idea? Maybe ask RMS to rewrite the GPL to allow for that?
Then again, that's just my opinion, I could be wrong.
JoeLinux
The problem is that I have a search engine.
AEIWI
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
<>
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
MrJoy.com -- Because coding is FUN!
Say I download the GIMP, make some local changes for 'freaky new feature 2000 (tm)', use that to make some images. Am I obligated to release my changes to the GIMP. I don't think so, it in fact seems absurd, thought other output is the same in principle. I agree that it goes against the community spirit of the GPL though.
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.
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.
--
Linux MAPI Server!
http://www.openone.com/software/MailOne/
(Exchange Migration HOWTO coming soon)
Right. As the FSF is the holder of the GPL copyright, you can ask them to create a derivative work (a new license) or for them to accept and publish your changed version. After they did that then you could use the new license.
--
Bison has already had to deal with this problem a long time ago. The trick is that Bison's source code is very hard to seperate, both conceptually and actually, from it's output, seeing as it's a parser that parses in input file which serves as a spec for a parser, which is generated by Bison (using a lot of recycled code...)
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.
---
Play Six Pack Man. I
No, that's not what I'm saying. If you sell a modified version of Emacs, you have to make the source available. You don't have to email it personally to RMS, but you have to make the source public in some way. My claim is that web site applications should not be any different. But question is what constitutes the "binary" form of a PHP program...
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
Coming soon - pyrogyra
Interesting.
I'd make sure it output the GPL along with the routine, so it couldn't be usurped.
Even more interesting, this is exactly the type of license on derivitive work generated by a state machine that everyone on this site was outraged about in Borland C++ builder a couple of months ago.
Find it here John
Installing a web-based application is a normal use of the application. It is not a distribution. So if the web admin changes something in those scripts and does not distribute the changes, it is not a violation of GPL.
The end user is not using the software itself, but just the output produced by the software. Think that software as part of the webserver. If you are using a GPLed webserver, you can modify the server software in anyway you want, for use in your own web server, but you need not release the software to general public. Only when you distribute the modified software, do you need to release the source code.
This is same as the right to private use modifications that RMS was talking about when he objected to Plan 9 license.
If I've modifed Apache to be highly secure, to protect my web site, would I then be required to release my modifications? I'll use a different daemon without such silly restrictions, in that case. It actually sounds to me like you want to release the source to your scripts, and not allow anyone to put them to better use than you, which doesn't strike me as being free or open.
Better still, don't worry about a license. Write code that suits a purpose for you, and then if you'd like, post it somewhere for other people to use. If you don't want them to use it, don't release the source. It beats the hell out of what you want to do, which seems very similar to Microsoft's public "trade secret."
Either release it or don't, but try not to micromanage how we use it, ok?
The GPL is a wonderful thing. So is Open Source... but is this really a good idea? The liscencing issues around clearly defined things like executables can be a pain to open source developers as it is. I am having problems with mixing a version of BSD and GPL'd code right now. And I know the authors had the best intentions, and that life in the open, BUT this just sounds like it's going to cause more headaches than good. Is anyone going to benifit from protecting the scripts like this? Enough to justify those of use who really care about liscences not using it because it's too tangled? I can easily imagine conflicting liscences for content in the same page. I also know that source code is different than a "document." In that you can't have bizzare liscences around a document the same way you can with software. Software is a device, and a webpage is a document. So you are also treading on thin ice. I doubt we will ever see a clean liscence that has been reviewed by a lawyer, we will just have ambigous situations that serve to bar use for those who really care.
-- http://thegirlorthecar.com funny dating game for guys
Right, but if you read it really really carefully you will notice that the origional author can impose restrictions and add clauses that the GPL would otherwise forbid. The liscence only talks about how people who recive the already liscenced code cannot add restricitons on it's freedom. Eg. Reiser's FS.
-- http://thegirlorthecar.com funny dating game for guys
Zend Compiler
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
------
Scott Stevenson
Scott Stevenson
Tree House Ideas
Put a basic copyright disclaimer that lets someone read the code but refer to the GPL for everything else. The Copyright owner can use whatever Licence or licences they choose. For instance, much of PHP is distributed under the GPL and PHP licences.
No, I don't think it's a derivative work.
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.
Tim O'Reilly talks about this issue in an Ask Tim column from November 99 (http://www.oreilly.com/ask_tim/gpl_problem.html). Here's a piece of it:
...many of the leading applications of today aren't distributed at all. They are host-based services. Consider amazon or e-trade or any other e-commerce application. Or maps.yahoo.com and other map and direction servers. For that matter, consider altavista and other search engines. These are the applications that are bringing new functionality to computers.
These applications can be built on top of open-source software with no obligation for the developers to give their improvements back to the Open Source community.
- The actual code which drives the back end of your application (Enzyme's PHP, and raw bits of static HTML), which is protected by the GPL.
- The data that you're archiving using Enzyme, protected by Copyright (or not, depending on who is collecting the information and the terms under which they acquired it).
- The confluence of the code and database, which produces the actual site with published information.
I agree with what you're saying, but I think it should be broken down into 4 sets of items:- The applications serving up the web pages (the web server, the PHP parser/interpreter/whatever you call it, the database software...), at least some of which is protected by the GPL.
- Your PHP code, and raw bits of static HTML, which is owned by you or whoever paid you to write it.
- The data that you're archiving using Enzyme, protected by Copyright (or not, depending on who is collecting the information and the terms under which they acquired it).
- The confluence of the applications, your code, and the database, which produces the actual site with published information.
The separation between the PHP parser and the code it parses is important. The code in the PHP parser has not been integrated into the PHP scripts, it has operated on them--it has executed them. It's basically the same issue as saying that you can use an open source compiler to compile closed source applications. Certainly that's how I read the GPL, and I've never heard that questioned.Convert RSS to HTML - integrate webfeeds into your website
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
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
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
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
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
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
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
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
Actually this is not what my question was about at all. I'm not worried about other people being able to comply with the GPL if they want to (by linking to the source) but that they be required to provide the source to any modifications that they make _to the same people that they redistribute to_. Further, I happen to think that a "public performance" (like a website) is conceptually the same as a "binary redistribution" and so should be covered by the GPL, or a GPL-like license.
Can your IM do this?
Always wanted to feed a troll, but this time I'll let RMS do it, from http://www.gnu.org/philosophy/reevaluating-copyrig ht.html:
By contrast, copying useful, enlightening or entertaining information for a friend makes the world happier and better off; it benefits the friend, and inherently hurts no one. It is a constructive activity that strengthens social bonds.
Some readers may question this statement because they know publishers claim that illegal copying causes them "loss." This claim is mostly inaccurate and partly misleading. More importantly, it is begging the question.
The claim is mostly inaccurate because it presupposes that the friend would otherwise have bought a copy from the publisher. That is occasionally true, but more often false; and when it is false, the claimed loss does not occur.
The claim is partly misleading because the word "loss" suggests events of a very different nature--events in which something they have is taken away from them. For example, if the bookstore's stock of books were burned, or if the money in the register got torn up, that would really be a "loss." We generally agree it is wrong to do these things to other people. But when your friend avoids the need to buy a copy of a book, the bookstore and the publisher do not lose anything they had. A more fitting description would be that the bookstore and publisher get less income than they might have got. The same consequence can result if your friend decides to play bridge instead of reading a book. In a free market system, no business is entitled to cry "foul" just because a potential customer chooses not to deal with them.
The claim is begging the question because the idea of "loss" is based on the assumption that the publisher "should have" got paid. That is based on the assumption that copyright exists and prohibits individual copying. But that is just the issue at hand: what should copyright cover? If the public decides it can share copies, then the publisher is not entitled to expect to be paid for each copy, and so cannot claim there is a "loss" when it is not. In other words, the "loss" comes from the copyright system; it is not an inherent part of copying. Copying in itself hurts no one.
Can your IM do this?
That's all well and good, but we've looked at about two dozen potential licenses, and are still not closer to getting what we want. We like the spirit of the GPL. The closest we've found so far is the Artistic - is that good enough?
Can your IM do this?
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....
Can your IM do this?
I also posted this story over at which has generated quite an interesting discussion as well (it's still in the "moderate submissions" queue for now).
Can your IM do this?
I'm not really talking about either of these cases. We do sell a commercial product based on this code, which is not governed by the GPL but is a simple non-redistributable non-exclusive license. What we want is to be able to give away most of our code for free use so long as anyone that uses it also makes their source available for free use. We don't object to people making modifications, in fact we really want that, we just don't want one of our competitors to do a billion dollar IPO off our work without opening their code.
Can your IM do this?
Agreed, but what we're talking about here is not "private modifications" but ones that are quite public. If eBay steals my code, and makes $1 X 10^9 on it, I think they ought to at least be forced to open their code up.
Can your IM do this?
bingo.
Can your IM do this?
No, I just don't want people to redistribute my work in a non-free (or if you prefer, non-open-source) way. Isn't that what the GPL-shaman is supposed to protect me from? If not, what license should I be using instead?
Can your IM do this?
let me just quote from the GNU home page:
"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. "
Can your IM do this?
'cause if it is, then all you have to do is replace "binary distribution" with "asp/php/webscript" distribution. Just use the "Find and Replace" option in your favorite text processor...
right?
Spoon not. Fork, or fork not. There is no spoon.
Unfortunately, this would require people to distribute sources even if they only modify it internally. This is what RMS called an annoying thorn in the side for Plan 9 -- requiring the distribution of modified versions even for internal use. Even worse, it would mean that all users have to have a copy of the source with them at all times or risk violating the license.
Friends don't let friends misuse the subjunctive.
I wasn't going to step in, but after seeing the amount of well-meaning misinformation, I had to say this, even if it may be too late to get moderated up.
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.
Friends don't let friends misuse the subjunctive.
Wasn't this exactly what RMS was ranting about wrt the license for Plan 9? He took issue with the fact that even internal modifications must be released.
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.
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.
I can't say I'd be opposed to that particular restriction...
Bush is a cylon.
Why is it so important to have a GPL on machine generated code ? Machine generated code is functionally close to compiler output. Most machine generated output is not that useful -- it's the ability to modify the generator that is useful, and not in question, in this senario.
What you are trying to do is beyound what the GPL offers, and that is why you are having problems. You can keep secrete the code that you compile with gcc and distribute the binaries.
There really is no reason to concern yourself with restricting other's restrictions on object code. In your case, the useful and powerful part will always be program A. Your attempt to saddle program A with a more restrictive version of the GPL -- more restrictive in that it will apply to the result of processing -- is unlikely to gain program A widespread acceptance.
Consider that someone could compile a program with gcc and then use a hex editor to edit it. Who cares ?
What is this program B that is so useful yet machine generated ? Enlighten us, Viking Coder.
I aggree that CGI and CORBA-like component architectures fall into this catagory. I disagree that this is a problem or even a particularly interesting nuance of the GPL.
Part of the reason is that CGI and CORBA are like web based applications in that they are also massively over hyped. If a software project decides to use CORBA, that's a sure sign that you will never find a use for that project.
If someone takes a GPL'd CORBA component and modifies it but doesn't distribute it, and makes it's use available via the internet or some other network, that's fine. They still can't distribute it outside of their company. They can distribute it's use a little more, but they are not going to make a lot of money that way. And they won't be able to sell the service to people who need to be networkologically isolated because of security reasons, such as defense labs, which are big consumers of that CORBA crap.
Consider also that the expansion of possibilities that comes from network availability works for Free Software as much as against it. Think of all the people who telneted into Compaq's linux server to try out alpha linux and liked it. Think of those VNC oriented people who were offering linux accounts, like workspot.com. If the industry developes to the point that you can try a dozen different applications or OS's with a click of the mouse, then Free Software's qualities will shine through, and it will be harder for other software to compete.
I still think this is a non-issue. Without knowing the details of what you are doing it's hard to tell, but it should fall into one of two catagories:
1) The generated code is a derived work. A good example would be a useful library of C pre-processor macros, or macros in any other language; running them through the C preprocessor would not produce a GPL-free work that you could modify and distribute without restriction. I could write a piece of code to turn a C++ template library into a massive set of non-templated code instantiated for some set of types, but I think the resulting work would be a derived work and also under the GPL. I think that running an automated process on a set of code should often be derived work -- you can't use sed to make a GPL free set of code by simply changing variable names, to give another example.
2) The generated code is object code. Examples of this would be those translators that translate code from one language into C, such as scheme or fortran. Here it doesn't seem very useful to insist that the output be under the GPL, and it clearly is not a derived work of the translator. Running f2c on GPL fortran code produces something that you cannot distribute except under the terms of the GPL, no question about it.
In general, I would say if the user had to write special input to make the new code, your tool was rather like a processor, and would fall into case two. You seem to describe a case in which someone would download code from you and change a few lines and rebuild, not adding new work of their own; and the building process happens to be a 2-stage one of generating the code and then compiling it, very analogous to pre-processor macro expansion followed by compilation.
If you want to describe your project in more detail here or via email, feel free. But check out this library: www.fftw.org. It is a GPL'd library, which has the code generator and the generated code in the package under the GPL. Perhaps by analogy to that package you can resolve your questions, or you might want to consult the authors of fftw on their thoughts.
The license issues on the back end of a web site are no more vital than the license issues of the web server they use. And no one "falls victim" to this issue at all.
A few years ago, if you wrote and GPL'd a nice piece of server-side code, you might expect to benefit from changes others made from it because they would have to distribute it to make a lot of money off of it.
But one among many of the constant stream of new efficiencies is easier methods of allowing people all over the world to run anything on one computer without distributing it to many places. This is but one in a long chain of tricks to get more out of your computer and system it is part off.
So ?
It doesn't particularly favor closed code or open code. After all, all those people who couldn't figure out how to install linux can now use it via VNC and workspot.
You can't respond to every little shift the technological landscape with panic and more restrictive licenses. That path is doomed.
Because web based applications are not going be a big part of anything. Like the marketeers facination with "push" a few years ago, it just won't catch on.
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.
People are already buying crap to install on their local harddrives. What will prevent them to use crap on distant servers?
I do however, agree with your attitude. Let those who will live in the crap, it's the only way to learn.
- Steeltoe
http://www.debunkingskeptics.com/
The point here isn't about the output, but the server program (which would be derivative). He is addressing a license that would enforce making the source for the server program publicly available if people are using information generated by this program.
Of course the sheer difficulty, intrusiveness and draconian efforts of such a mess makes it kinda laughable at best. People are yet again trying to measure and control where information is to be flowing. Why can't people accept that you have to give in order to receive, and stop this bullshit about licenses and profits. No license or profit margin programmed a great program, ever.
- Steeltoe
http://www.debunkingskeptics.com/
You might shake your head and think that I'm contriving a situation - but I actually have source code like this, and it is a genuine concern of mine, and I imagine other people.
Education is the silver bullet.
I was thinking that if output of a program under GPL wasn't protected by the GPL, then what about a program that reformats code? Just run every program through it and suddenly you have GPL free code...
But that's not really right. If you put GPL code in, you get GPL code out. If you put freeware code in, you get freeware code out. This code is still derived from GPL code.
Programs generated out of Thin Air (TM) are only protected by the Thin Air (TM) license.
sig fault
If I use a GPL'd program to process my web pages offline based on templates, and tweak it to do something that I find useful, then publish the pages on my site, am I now bound by the GPL to release my source changes? Clearly not, the pages are output. This is the same thing, only done dynamically.
If I provide a service touching up old family photos, and use GPL'd tools to do it, do I have to publish changes I make to these tools, since really it is the customers who are "using" the tools through me. Duh, no.
I can't believe this same idiotic subject has been on Slashdot twice in two weeks(and submitted by a main-thread participant in that discussion, no less). If you don't like the GPL, don't use it.
All kings is mostly rapscallions. -Mark Twain, The Adventures of Huckleberry Finn
I think it requires you to look at things as generated. If you generated HTML output, then that is a "derivative" work if I'm not mistaken. Since it is derivative, what you do with it is still limited by the original license.
kick some CAD
The licensee of your software is the operator of the server, not the end user. The operator of the server can modify the software and, as long as they only run it on their own servers, are not re-distributing your software - even though their users are distributed.
For those stuck on the HTML-as-program idea when dealing with the GPL, here's an illustration of the difference between derivative work and a product of that work:
Assume that I have an O'Reilly book, and the back of that book contains an order form. O'Reilly used say, TeX and Linux to produce the form. When I send the completed form to them, they process it through a GPLed OCR system and use TeX to create a response.
Should O'Reilly send me a CD with TeX, Linux, and the OCR program because I sent them an order? No. No one would expect that, even if O'Reilly could benefit the world by distributing the order processing system they developed.
So, why is it different when they use Perl, Apache and Linux to send me the order form and process its response? Yes, they might have developed a kick-ass ordering system and it would be nice of them to share, but that has nothing to do with the people who use the products of the system.
Read the full text my book Perl for the Web
Programs that use the GNU GPL but want to give the user additional freedoms have an option open in section 10 of the the GPL: exceptions. The author can add additional freedoms to the GPL but cannot add additional restrictions. For example, most KDE programs now use an exception: "You are permitted to link this program to the Qt library" that may, in fact, be granted implicitly by #includeing the Qt headers.
<O
( \
Will I retire or break 10K?
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
( \
Will I retire or break 10K?
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.
So is everybody saying that the GPL cannot apply to a perl code because perl codes are not distributed as binaries? Did I miss something?
What about other interpreted languages? So basically everyone here is saying that software written in interpreted languages is not covered by GPL?
Consider the "problems" with the Plan9 license. The FSF criticizes this licence _because_ it does not allow private modifications.
Read the manifesto. Private modifications are one of the things that make software valuable.
A lot of people don't like the artistic license for various reasons, but plenty of good apps have been listed under it. To be honest, INAL, and I've never used a major license in any project that wasn't already under that license that I just happened to be contributing to.
Eh...
Here's an idea, just use a different license. I know that everbody wants to hop on the GPL bandwagon, but there are a lot of other licenses out there, if none of them satisfy your needs, you could just do like all of the commercial companies do and write your own, heck, if you want it to be open source, that doesn't mean that it has to be GPL. Perhaps this is a good call for an altogether new license, however, it really doesn't have to be just another GPL, it really could be a license tailored to the specific needs of either the application at hand, or of web applications that one would think fall well into the GPL.
Just because it's not GPL'd doesn't make it the end of the world, no offense.
Eh...
...or XML, or javascript, etc. Look at *BSD. Generally compiled with GCC, a GPL program, but distributed under a different license. Just because the server runs GPL software, doesn't mean that the GPL has to apply to any of the content serves. Heaven forbid the lawsuits if someone decided that they should be able to redistribute copyrighted content served up by Apache.
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.
WARNING: there is a trojan on your
A programer does retain the copyright when he GPL's his software. He then has the choice of keepting the copyright to himself, or assigning it to another entity, such as the FSF.
However, I don't think the GPL can cover itself. Wouldn't that be an infinite loop?
Refrag
I have a website. It's about Macs.
Say I have my apache take a pattern of data on my hard disk and turn it into a website, perhaps using php to do some more intelligent things with it.
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?
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]
Under the terms of the GPL, if they modify the script, they do not have to release it.
And for everyone who's saying that the output of the script (ie. the HTML produced) should be made public because the script that produced it is GPL'd, well thats like saying everything i type in vi should be made public, because that's GPL'd.
with the binary what it does require is that you make a written offer and provide a means where by they can get the code in the *same* format that they got they binaries. I quote "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." So you just put a link on your page to a copy of the code tarball, zip, and whatever the Mac uses and you are well within what the GPL demands. Get a copy of the GPL and read it it is really quite easy to comply with.
Cypherpunks: Civil Liberty Through Complex Mathematics. Those who live by the sword die by the arrow.
Just change the GPL you use so that it refers to script as well as binary redistribution? Then you can submit the new GPL back to the GNU foundation. I mean, the GPL itself is Open Source, right? So consider this a bug fix to the GPL and go for it.
Sailing over the event horizon
Disclaimer: I'm not a lawyer, and may be wrong:
Hello Boys & Girls
HTML, and everything on your screen is binary!
Binary redistribution, while conventionally thought of as 'compiled code', is not soo different from HTML.
Think about java class files that can be easily de-compiled, or Java files that can be compiled!!!
Can you simply de-compile a binary java file, re-compile it, and distribute that, without violating the GPL?
Any serious judge, or jury with industry knowledge, will know that everything stored, trasmitted, operated on, etc... is binary
Sometimes, slashdot is quite immature. Finding theoretical loopholes is lame.
How many people want the wrath of the open-source community, or for that matter: the negative publicity.
The output would, i think, be the compiled form. It would definately be copyrighted to the designer (intellectual property et. all, since there would be no output without the designer). If you have the source of the PHP scripts for the backend avaliable, I can't see the problem...
-legolas
i've looked at love from both sides now. from win and lose, and still somehow...
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 (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.
"This and all derivative works must have the source available to End Users of the application" or something more legalese..
Sparks:Gadget:Beer Maker
What I mean is, I release WhizzBang 1.0 under the GPL. XYZ makes proprietary changes & doesn't distribute the changes. Now I release WhizzBang 2.0 with the added functionality of doing laundry. If XYZ wants WhizzBang 2.0, they'll have to merge their proprietary changes into 2.0, which may very well cause conflicts with the newer version.
So is their a point where XYZ will wake up and realize they're putting too much effort merging proprietary code back into WhizzBang? If XYZ released their changes under the GPL and merged the changes into the main branch, then their upgrade path suddenly becomes a lot simpler.
So how does this effect us free software hackers? When we release enhancements in a manner that merging 3rd party code becomes a hassle?
Just have the GPWL Gnu Public Web License
-- Ad Majoram Dei Gloriam
I wish there was a bound copy of the Bibl^H^H^H^HGPL available, handily seperated by Chapter^H^H^H^H^H^H^Hparagraph and numbered by Verse^H^H^H^H^Hline. It would make citing so much easier:
"Though shoult have no other gods^H^H^H^Hliscenses before me." (GPL 19:46).
On the same token, you could use X-Windows to violate the GPL for 'net applications - I could make a proprietary modification to (for example) GIMP and convince people to run the program over the 'web with Broadway and X11R6. There needs to be a license that counts USING the program as DISTRIBUTING the program. 'nuff said.
In my opinion the GPL poorly fits server applications. Take for instance a MUD. If I were to write a MUD and distribute it GPL'ed, in my interpretation of the GPL anyone can take that MUD and change it and run it without having to distribute modified source, unless of course they decide to distribute modified binaries. In this case the MUD administration gets the advantage of profitting from my hard work, and furthermore they can do anything they want with my hard work and never give back to me or the community. The only thing they have to refrain from doing is passing out the binaries to anyone, which is exactly what you would want to do in a competing market.
I thought someone said there was going to be free beer!
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.
You've answered your own question. The actual instantiation of your program and any data/scripts it produces are unquestionably output, and therefore the GPL wouldn't apply anyway.
It does appear to have some grey areas when you juggle the semantics around, but output is output.
gitm
- The pen is mightier than the sword, the court is mightier than the pen, and the sword is mightier than the court.
Hi everyone. I have been a SlashLeech(tm) for a while now, but I feel compeled to speak.
CmdrTaco seems to reffer to the relationship between browser and server in the same capacity as model/view/controller separation used widely in programming circles. From this point of view, the user interface is part of the program, and therefore subject to GPL rules.
In the early days of the web, we just had content. Nobody envisioned that the browser could become an interface to large scale applications. The GPL appears to suffer from this same blind spot which afflicted (or afflicts) the browser implementations of today. They are not equipped to deal with an entity which can at the same time be both program output and part of a binary application program.
I feel torn by this issue, not wishy-washy, so don't interpret my next statement the wrong way. I feel that the GPL should be modified to be explicit about allowing what is already happening today on a massive scale: the GPL should not alienate any market segment which helped make it mainstream. Image the massive amount of work necessary to make 50% or so (open for debate) of existing web sites which would have to change to accomodate this.
--Peace out
std::disclaimer<std::legalese> sig=new std::disclaimer; sig->dump(); delete sig;