It isn't that dejanews somehow owns the exclusive rights to usenet archives. Anyone has as much rights to do what dejanews did. (Whether they actually have the right to do what they do is questioned by some groups of people). I think dejanews provided a great service, and I am utterly disappointed by their recent policy changes. However, dejanews doesn't own me anything. It's easy to critize dejanews, and suggest what they should do. But before dejanews, there weren't any public Usenet archives at all, and dejanews has been one of the few successful and original ideas on the web that hasn't been copied a thousand times over.
It's a pity that dejanews doesn't provide as much service as they used to. But it isn't dejanews fault noone else does either.
Excuse me, but Ada was not designed by committee. There was a large requirements gathering process, but the design of the language was by a small tightly focussed design team led by Tucker S. Taft at Intermetrics who had final say, and used it.
The Handbook of Programming Languages has to say the following:
Some have claimed that Ada was "designed by a committee". This claim is simply not true. The HOLWG [High Order Language Working Group - the working group of the DoD, lead by Whitaker, that wrote the requirements for, and oversaw the competition for the design of, the language that became Ada/Abigail] represented the intended
users of the new language. This group oversaw the design competition, but each of the four full language designs was firmly in the hands of a small team in industry. The team that won the competition consisted of Jean Ichbiah and six other members who attest to Ichbiah's strong leadership. It is true that the process was an open one, which was unprecedented in language development, and that many in the community reviewed the design and advised on its refinement, but Ada was designed by its designers.
Michael B. Feldman: Ada 95 in Context, in: Peter H. Salus (Ed.): Handbook of Programming Languages, Vol. I, Object-Oriented Programming Languages. MacMillian, 1998, pp. 561.
The Topaz project chose C++ instead (which is probably fine) however the reason they gave for dropping Ada off the candidate list was due to bootstrapping worries which were, in my view, unfounded now that we have GNAT (also see this). I hope they reconsider.
From a project standpoint of view, I think Ada is a very good choice. (And so would Eiffel be, IMO). However, one of the features of Perl is that Perl runs almost everywhere. GNAT is build on top of gcc, IIRC, and gcc doesn't run on all the platforms Perl runs on (the actual number of different platforms Perl runs on is unknown). Of course there are other Ada compilers, but I fear that Perl written in Ada means certain platforms will be locked out. And that is a price not everyone is willing to pay. The link you provided suggest GNAT only runs on 3 platforms, Linux, DOS, and SCO. There is also a GNAT homepage, which shows it's run on more platforms.
ActivePerl is just the version of Perl for Win32 that was compiled by Activestate. Perl compiles out of the box on Win32, for multiple compilers even. Unfortunally, most Win32 users don't have a compiler, or don't know how to compile. Hence the popularity of precompiled versions (something the Perl community usually doesn't recommend - you won't find a long list of precompiled Unix versions on CPAN for instance). ActiveState is not the only one making precompiled versions of Perl available; it's just the most marketed.
Actually, the example doesn't show at all that you can only do that due to the lack of strong typing. Strong typing doesn't forbid list assignment! I could well imagine a weakly typed language with a syntax like:
There was no freedom stripped out by the middle man at all. I don't agree with that reasoning by GNU. It is, wrongly, suggesting you can take something out of the public domain and make it proprietary. But that is not true. Once in the public domain, always in the public domain. People who receive the program in modified (binary) form haven't lost anything. Granted, they don't get access to any modifications, but they wouldn't have gotten them if the proprietary product wasn't distributed in the first place. Nor do they lose access to the original program - after, that is in the public domain and will stay in the public domain. There is no loss. To lose something, you first have to get it. And you never had access to the modifications so you can't lose that.
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).
But you don't want to ruin your cooperate image by sending out the drek that Netscape and MSIE produce.
central point for scanning for viruses ect.
That's why you have a global incoming mail server.
central point for security.
Ditto. Besides, you do have firewalls, don't you?
less support needed instead of having to run around to each machine to fix things all the time you have
Which you also achieve with a global mail server. Of course, you will still have clients. Even web based email needs a client. (But you one install one client, on your NFS or AFS, right?)
one point to manage
Those are features of a central mail server, and a shared filesystem. Not of web based mail.
ease of adding and removing users
And that is complicated otherwise because of what exactly?
Users like the ability to bring up an email on another machine when they are working in a group setting.
Why should web developers get all GPL source without having to show their modifications to their users the way all other GPL-users have to?
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.
But I think that web use is obviously NOT "modification on your private copy" but rather a public "publication" or "performance" or (if you will) "distribution" of my work, and therefore should be covered by the GPL.
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.
It produces HTML, but also Javascript and SQL, depending on how it is invoked via a continuous, session-based interaction with the user.
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.
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.
No. From the license:
For example, if you distribute copies of a such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must tell them their rights.
And later in the more legal area:
a) accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Paragraphs 1 and 2 above; or,
b) accompany it with a written offer, valid for at least three years, to give any third party free (except for a nominal charge for the cost of distribution) a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Paragraphs 1 and 2 above; or,
c) accompany it with the information you received as to where the corresponding source code may be obtained. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form alone.)
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.
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.
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.
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.
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.
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.
But you only have to release it to the soda distributors that bought your drinks machine, and then only if they ask for it.
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.
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?
I assume the only reason the system isn't abused more is that it takes time and effort to get to the polling station to vote.
And it's very hard to make a significant change in the election this way. First of all, you need to pick someone who hasn't voted already him/herself, (or else their name will be marked off). Then you also have to pick someone that is unknown to the local officials that man the station. ("Hi, I am Johan Carpenter and I want to vote". "No, sir, you are not! Johan Carpenter is my neighbour and he's 80!"). Finally, you really don't want to pull this trick twice at the same station.
But far more important than whether it's more or less easy to stuff the ballot box is the trust the public has. Even if internet voting would be 100% secure, if the public doesn't trust it, it's not going to happen. Public trust is a funny thing. It makes trains and subways keep drivers, and let banks get away with 4 digit PIN codes.
According to this article that was featured on Slashdot a few weeks ago, SETI@home is about TWICE as fast as the new IBM "fastest supercomputer in the world" is in terms of teraFLOPS.
While the number of floating point operations per second surely has some merit, FLOPS speed is certainly not the strong point of supercomputers. A supercomputer is a device that turns a calculation problem into an IO problem. The ability of moving shitloads of data around in small units of time is what makes a supercomputer a supercomputer. In the foreseeable future, the bandwidth of the Internet isn't going to approach even a tiny fraction of the bandwidth of the IO channels in a supercomputer.
If you were an oil company or a scientist working on a meaningful problem, which direction would you take?
If I were an oil company, with hundreds of offices and tens of thousands of computers of a wide range of models and I've a computing problem that can be solved by either buying a $120M supercomputer, or developing a distributed protocol, I'd seriously look into distributed protocol. After all, most computers are idle most of the time. Unfortunally, there aren't many problems for which both a supercomputer and a distributed protocol would be viable solutions.
the other is images.slashdot.org/pagecount which you'd think would have a valid purpose.
You mean, the slashdot maintainers aren't smart enough to grep through the accesslogs to find out the pagecount? (Which is not only far more efficient on both the server and clients ends, and the network in between, it's also more meaningful)
Guess someone could add a scrubber component to the browser's which'd truncate the URL's at the ?, but chances are lots of requests would fail if that would happen...
But even then, just lose the ? and replace it with a/, or a Q or whatever you feel like. It's up to the server anyway to map a URL to an object. But beside the URL, there are more things in the HTTP protocol that can be used to track people, and that aren't immediate obvious, unless someone tells you. The last modified field, for instance, which on return visits to the URL, is reported back to the server. ETag is another example. Browsers typically allow you to disable cookies, but find a browser that lets you disable ETags....
It isn't that dejanews somehow owns the exclusive rights to usenet archives. Anyone has as much rights to do what dejanews did. (Whether they actually have the right to do what they do is questioned by some groups of people). I think dejanews provided a great service, and I am utterly disappointed by their recent policy changes. However, dejanews doesn't own me anything. It's easy to critize dejanews, and suggest what they should do. But before dejanews, there weren't any public Usenet archives at all, and dejanews has been one of the few successful and original ideas on the web that hasn't been copied a thousand times over.
It's a pity that dejanews doesn't provide as much service as they used to. But it isn't dejanews fault noone else does either.
-- Abigail
The Handbook of Programming Languages has to say the following:
Michael B. Feldman: Ada 95 in Context, in: Peter H. Salus (Ed.): Handbook of Programming Languages, Vol. I, Object-Oriented Programming Languages. MacMillian, 1998, pp. 561.The Topaz project chose C++ instead (which is probably fine) however the reason they gave for dropping Ada off the candidate list was due to bootstrapping worries which were, in my view, unfounded now that we have GNAT (also see this). I hope they reconsider.
From a project standpoint of view, I think Ada is a very good choice. (And so would Eiffel be, IMO). However, one of the features of Perl is that Perl runs almost everywhere. GNAT is build on top of gcc, IIRC, and gcc doesn't run on all the platforms Perl runs on (the actual number of different platforms Perl runs on is unknown). Of course there are other Ada compilers, but I fear that Perl written in Ada means certain platforms will be locked out. And that is a price not everyone is willing to pay. The link you provided suggest GNAT only runs on 3 platforms, Linux, DOS, and SCO. There is also a GNAT homepage, which shows it's run on more platforms.
-- Abigail
Which is, of course, exactly my point. Your "proof" makes assumptions on the precondition that isn't there.
-- Abigail
And neither does C for that matter, but you never hear someone complain about that. Pascal does have constants though.
Of course, you might argue that C has
well, that isn't C, that's the C preproccessor. And you can use the same C preproccessor with Perl; just use the -P option.-- Abigail
-- Abigail
If you put export PERL5OPT='-Mstrict' in your profile, then it will already happen.
-- Abigail
-- 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
And in fact, it's trivial to show that the program isn't correct. fib (-1) will never return an answer.
-- Abigail
But you don't want to ruin your cooperate image by sending out the drek that Netscape and MSIE produce.
central point for scanning for viruses ect.
That's why you have a global incoming mail server.
central point for security.
Ditto. Besides, you do have firewalls, don't you?
less support needed instead of having to run around to each machine to fix things all the time you have
Which you also achieve with a global mail server. Of course, you will still have clients. Even web based email needs a client. (But you one install one client, on your NFS or AFS, right?)
one point to manage
Those are features of a central mail server, and a shared filesystem. Not of web based mail.
ease of adding and removing users
And that is complicated otherwise because of what exactly?
Users like the ability to bring up an email on another machine when they are working in a group setting.
IMAP and even POP will do that too.
-- Abigail
-- 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
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
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
No. From the license:
And later in the more legal area:
The keyword being accompany.-- 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
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
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
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
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
And it's very hard to make a significant change in the election this way. First of all, you need to pick someone who hasn't voted already him/herself, (or else their name will be marked off). Then you also have to pick someone that is unknown to the local officials that man the station. ("Hi, I am Johan Carpenter and I want to vote". "No, sir, you are not! Johan Carpenter is my neighbour and he's 80!"). Finally, you really don't want to pull this trick twice at the same station.
But far more important than whether it's more or less easy to stuff the ballot box is the trust the public has. Even if internet voting would be 100% secure, if the public doesn't trust it, it's not going to happen. Public trust is a funny thing. It makes trains and subways keep drivers, and let banks get away with 4 digit PIN codes.
-- Abigail
While the number of floating point operations per second surely has some merit, FLOPS speed is certainly not the strong point of supercomputers. A supercomputer is a device that turns a calculation problem into an IO problem. The ability of moving shitloads of data around in small units of time is what makes a supercomputer a supercomputer. In the foreseeable future, the bandwidth of the Internet isn't going to approach even a tiny fraction of the bandwidth of the IO channels in a supercomputer.
-- Abigail
If I were an oil company, with hundreds of offices and tens of thousands of computers of a wide range of models and I've a computing problem that can be solved by either buying a $120M supercomputer, or developing a distributed protocol, I'd seriously look into distributed protocol. After all, most computers are idle most of the time. Unfortunally, there aren't many problems for which both a supercomputer and a distributed protocol would be viable solutions.
-- Abigail
You mean, the slashdot maintainers aren't smart enough to grep through the accesslogs to find out the pagecount? (Which is not only far more efficient on both the server and clients ends, and the network in between, it's also more meaningful)
-- Abigail
But even then, just lose the ? and replace it with a /, or a Q or whatever you feel like. It's up to the server anyway to map a URL to an object. But beside the URL, there are more things in the HTTP protocol that can be used to track people, and that aren't immediate obvious, unless someone tells you. The last modified field, for instance, which on return visits to the URL, is reported back to the server. ETag is another example. Browsers typically allow you to disable cookies, but find a browser that lets you disable ETags....
-- Abigail