IANAL, but it sounds to me like that would violate Section 3, paragraph 2 of the GPL, which states in part:
"The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable."
Certainly "useless" source code doesn't count as the preferred form of the work for making modifications. Any reasonable programmer would prefer to have the makefiles and build scripts.
The compilier is not part of the source of the program and does not need to be included, but depending on the circumstances, the drivers very well may need to be distributed, at least in binary form. (Without more details, it's hard to know exactly what the GPL says about this issue.) Remember what the GPL says in Section 7: "If... conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all.
Also note that in order to satisfy Section 3 Paragraph 1 Subparagraph b, you will need to provide source from requests to that address for a minumum of three years.
Seriously, you should consult with a lawyer if your company really plans on releasing source in this manner.
My guess is significantly less than 24% would vote that it is "religiously opressive." That's a lot stronger of a statement than asking them if they think it's unconstitutional.
There aren't nerds that live in the United States? Ones that maybe even go into the Big Place Outside The Apartment With The Really Bright Yellow Light on occasion? That might even have managed to reproduce somehow and have kids that go to public schools?
I would love to see all these bought and paid for politicians sent back out into the real world every 4 years.
So would the lobbyists. New congressthings are cheaper and easier to "influence" and don't have to bother with trying to keep their voting consistant with their previous record (even the general voting public notices when a long-time anti-something votes pro- right after a large "campaign donation").
If people could vote with their X-Boxes, all those Senators would be gone.
Of course! They would be replaced by whomever Microsoft programs the X-Boxes to elect. Very convenient. I'm sure we'd get some great, distiguished lawmakers that way. Gives "Microsoft tax" a whole new meaning!
The GPL is explicitly written differently than a EULA. As the GPL even states, you do NOT have to agree to the terms of the GPL, but if you do not do so, you cannot do anything beyond the normal privleges of copyright law. If you choose to do something not allowed by normal copyright law, like distribute modifications, then of course you are accepting the terms of the GPL, because that is the only way that you can get those privleges.
The average age of the members of Congress is 54.4. According to the 2000 Census, only 23.9% of all people fit into the category of being of eligible voting age but twenty or more years younger than the average member of Congress. Even if you include children, only 49.6% of the population fits into this group. 50.4% of the population -- the majority, especially when you consider the percentage who actually vote -- are older than the group claimed to be "the largest age group of the population."
Isn't it easier for lobbyists to persuade young members of Congress without much political experience? After all, they don't have as much experience to judge from and are less aware of lobbyists' favorite tactics and tricks to get support.
Sure! As you already posted, right before where you higlighted, the GPL says, "If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works."
You are not representing them as a unit when you are shipping the two programs together -- you are distributing them as separate works.
The GPL further clarifies this by saying,
"In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License."
You are simply aggregating the two programs, not combining them or creating a derived work. The two programs are simplu together on the same storage medium (your hard drive or the server it's on). As long as they are not integrated or tangled together, they don't fall under the category of "derived work."
Furthermore, and more importantly, you cannot loose "ALL COPYRIGHT" on something that you have written due to any part of the GPL. Anything you write is yours unless you have explicitly signed a copywrite transfer agreement. If you wrote code that is derived from GPL code, the GPL requires you to distribute that code under a GPL-compatible license if you distribute it to something else, but dispite the fact that you have given that code out in GPL'ed form, you still 100% own the copyright on that code that you wrote and can do whatever you want with it, including incorporating parts of your GPL'ed code in non-GPL'ed projects you write.
Would the person who modded my post down as flamebait be kind enough to tell me why they though my request to be so? It doesn't take very long for the authors to add the relevent links (mostly cut and paste) and doing so makes the comments on the patents in general more informed, saves time for those who do know how to look up the patents, and allows those who don't know about the patent databases to know. What is flamebait about that?
Careful -- I am definitely not a lawyer (IADNAL), but accusing someone of committing a crime when you don't have proof is libel, and you can be sued for it. Not that this person is likely to sue you for it, but others ofter will...
While generally true, not so for GTK. In general, gtk is only backwardsly compatible between versions with the same major and minor number.
For example,
several changes are required to port 1.0 programs to 1.2. If you've checked out the 1.3 version you'll find that it's incompatible with just about everything. (Although I think most of that is just to keep clueless people from complaining when app foo doesn't compile.)
The GTK developers try to maintain a minimal number of changes required for existing programs, but they're not afraid to make backwardsly incompatible changes if they feel it will significantly improve the library.
Imagine that in a comercial program! Hardly anyone in the Wintel camp is willing to do that. In practice, I can't see why (other than because of laziness) making backwardsly incompatible changes should be difficult in a one-vendor product such as gtk as long as they provide an emulation library for backwards compatiblity. Documenting the programming interface changes is also essential.
The problem with a multi-vendor standard such as Java is that any changes to the standard have to be implemented not just once but in every provider. You have the social issue of ensuring that all providers do it and the technical issue of ensuring that they do it right. (Java is somewhat less disadvantaged than many "standards" on this point.) This is enough to discourage many worthy improvements.
It would seem to me that there are two major contributing factors here:
Lack of optimization of programs
Most commercial programs have deadlines too tight for the developers to make many optimizations. Even when that isn't the case, many programs are tested mostly on trivial cases where speed is not the issue. Even "common case" testing can be bad as the problem size commonly used often increases dramitically and unforeseeably over the life of a program. (Take the first web servers as a good example.)
noncaptilization of innovations
Computers as we know them aren't different not because of lack of innovation but because of lack of popular application of those innovations. For example OO has been around for a long time but the only OO languages with any major popularity are Java and C++, both of which have serious drawbacks that hamper thier effectiveness.
Another example -- sensible memory handling including garbage collection can solve many of the crashing problems we have (yes, linux programs sigsegv ocasionally,too:) But you can't see GC integrated into any mainstream OS currently. I for one am all for sacrificing a few cpu cycles for stablity -- what good does a fast program do if you loose a night of work due to a bad pointer somewhere? Besides, we'd find ways to make it even faster if there were wider usage. I can even imagine hardware-accellerated GC.
I'm not suggesting that these would solve the world's problems or that they're the best solution or insert-your-favorite-flamewar-topic-here. I'm just saying that the vast majority of new, innovative solutions are unimplemented because of PHB's with severely impared long-term vision.
Free software seems to avoid these two pitfalls. Therefore I predict that free software will continue to improve the state of desktop computing as long as it tries to actually innovate instead of immitate. (not that it is horribly bad to immitate a good, successful function)
I remember the first time I used a Mac. Someone got me into a strangely addicting little mille bornes game. Everything went great until the program crashed. I clicked on the "mille bornes" icon lots of times but the stupid thing wouldn't load. I even tried rebooting the computer. Finally, I explained my woes to the first person, who told me that I needed to click twice on the icon really fast. I didn't find that intuitive at all. I was really happy to get back to a dos box with a nice, intuitive command prompt. (Sure, I had to learn the commands first, but my point is you have to learn commands whether they are represented in form of mouse acrobatics or odd letter combinatations.)
The point of good GUI design is to limit the amount of learning required by advertizing the commands available. Sure, I love root menu windows as much as the next person (minimizes the need for mouse movement thus increasing productivity), but they totally fail in the advertising category. I certainly didn't know about them until I figured out that the random harrassing menus from my wm and the occasional stray mouse click were related. (yes, I did rtfm -- the fm wasn't that good.) Perhaps an ugly "click anywhere on the background to start" bitmap should be default on linux-for-dummies distros.;)
The annoying start menu button, as far as I can see, has the same basic functionality as the root window menu, but with the advantage of visiblity and the disadvantage of having to move your mouse to that small little box to do anything. Personally, I feel that something in between start menus and root menus would be much better than either one, but so far I can't come up with anything. So I'll stay with root menus for me and start menus for the masses
GTK supports an automatic keyboard shortcut feature -- highlight any menu item with the mouse and hit the key combo that you want to be the shortcut. Any app in which the developer had the oversight to autosave your shortcut settings can be tivially fixed.
Hope this solves some of your usablity problems. I personally would be interested in knowing any other suggestions you may have.
Many people have asked why Netscape releasing version 6 matters. The reason is that for many people this is their first exposure to free software. (yes, I know that bind, sendmail, and many other free software programs are used regularly by the average luser, but they don't realize it so it has nil effect.)
Should ns6 be buggy or slow or nonstandard or whatever it will turn people off to free software. (sad, but true.) Furthermore, and perhaps more important to free software developers, mozilla is the flagship example of freeing the source of a commercial project. Should Mozilla fail, the chances of other companies opening up the source to thier projects dwindles. If someone were to suggest it they would just say that "they don't want to create another mozilla."
Mozilla's been tough for all involved, but it's an experiment we can't really afford to loose.
Speaking of standards conformance, last time I checked MSIE's User-Agent violates the HTTP specification.;)
Great idea! But be careful to avoid legal problems. You could get sued, especially if you use that as your return address (for impersonating them or something like that, IANAL)
Alternatively we have possesed the ability to do genetic changes in humans for years now but we refuse to take it (in my opinion because of an unvoiced fear that we will be obsolete in the face of our descendents).
Perhaps,but far more likely is the butterfly effect -- we really can't tell how a change is likely to affect the long-term health and social factors of billions of people, so it's better to play it safe.
You, obviously, have never watched a dyslexic person try to enter a serial number.
IANAL, but it sounds to me like that would violate Section 3, paragraph 2 of the GPL, which states in part:
... conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all.
"The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable."
Certainly "useless" source code doesn't count as the preferred form of the work for making modifications. Any reasonable programmer would prefer to have the makefiles and build scripts.
The compilier is not part of the source of the program and does not need to be included, but depending on the circumstances, the drivers very well may need to be distributed, at least in binary form. (Without more details, it's hard to know exactly what the GPL says about this issue.) Remember what the GPL says in Section 7: "If
Also note that in order to satisfy Section 3 Paragraph 1 Subparagraph b, you will need to provide source from requests to that address for a minumum of three years.
Seriously, you should consult with a lawyer if your company really plans on releasing source in this manner.
Linux? Well, I guess you could run XFree86/Cygwin (a windows program) under wine, but that would be an exercise in pointlessness.
My guess is significantly less than 24% would vote that it is "religiously opressive." That's a lot stronger of a statement than asking them if they think it's unconstitutional.
There aren't nerds that live in the United States? Ones that maybe even go into the Big Place Outside The Apartment With The Really Bright Yellow Light on occasion? That might even have managed to reproduce somehow and have kids that go to public schools?
I would love to see all these bought and paid for politicians sent back out into the real world every 4 years.
So would the lobbyists. New congressthings are cheaper and easier to "influence" and don't have to bother with trying to keep their voting consistant with their previous record (even the general voting public notices when a long-time anti-something votes pro- right after a large "campaign donation").
If people could vote with their X-Boxes, all those Senators would be gone.
Of course! They would be replaced by whomever Microsoft programs the X-Boxes to elect. Very convenient. I'm sure we'd get some great, distiguished lawmakers that way. Gives "Microsoft tax" a whole new meaning!
The GPL is explicitly written differently than a EULA. As the GPL even states, you do NOT have to agree to the terms of the GPL, but if you do not do so, you cannot do anything beyond the normal privleges of copyright law. If you choose to do something not allowed by normal copyright law, like distribute modifications, then of course you are accepting the terms of the GPL, because that is the only way that you can get those privleges.
The average age of the members of Congress is 54.4. According to the 2000 Census, only 23.9% of all people fit into the category of being of eligible voting age but twenty or more years younger than the average member of Congress. Even if you include children, only 49.6% of the population fits into this group. 50.4% of the population -- the majority, especially when you consider the percentage who actually vote -- are older than the group claimed to be "the largest age group of the population."
Isn't it easier for lobbyists to persuade young members of Congress without much political experience? After all, they don't have as much experience to judge from and are less aware of lobbyists' favorite tactics and tricks to get support.
Send the price of admission to him instead. :)
You are not representing them as a unit when you are shipping the two programs together -- you are distributing them as separate works.
The GPL further clarifies this by saying, "In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License."
You are simply aggregating the two programs, not combining them or creating a derived work. The two programs are simplu together on the same storage medium (your hard drive or the server it's on). As long as they are not integrated or tangled together, they don't fall under the category of "derived work."
Furthermore, and more importantly, you cannot loose "ALL COPYRIGHT" on something that you have written due to any part of the GPL. Anything you write is yours unless you have explicitly signed a copywrite transfer agreement. If you wrote code that is derived from GPL code, the GPL requires you to distribute that code under a GPL-compatible license if you distribute it to something else, but dispite the fact that you have given that code out in GPL'ed form, you still 100% own the copyright on that code that you wrote and can do whatever you want with it, including incorporating parts of your GPL'ed code in non-GPL'ed projects you write.
(of course, iadnal.)
/proc/brain/newsig
-- Rockwalrus
cat
Would the person who modded my post down as flamebait be kind enough to tell me why they though my request to be so? It doesn't take very long for the authors to add the relevent links (mostly cut and paste) and doing so makes the comments on the patents in general more informed, saves time for those who do know how to look up the patents, and allows those who don't know about the patent databases to know. What is flamebait about that?
Rockwalrus
Rockwalrus
Careful -- I am definitely not a lawyer (IADNAL), but accusing someone of committing a crime when you don't have proof is libel, and you can be sued for it. Not that this person is likely to sue you for it, but others ofter will...
Rockwalrus
For example, several changes are required to port 1.0 programs to 1.2. If you've checked out the 1.3 version you'll find that it's incompatible with just about everything. (Although I think most of that is just to keep clueless people from complaining when app foo doesn't compile.)
The GTK developers try to maintain a minimal number of changes required for existing programs, but they're not afraid to make backwardsly incompatible changes if they feel it will significantly improve the library.
Imagine that in a comercial program! Hardly anyone in the Wintel camp is willing to do that. In practice, I can't see why (other than because of laziness) making backwardsly incompatible changes should be difficult in a one-vendor product such as gtk as long as they provide an emulation library for backwards compatiblity. Documenting the programming interface changes is also essential.
The problem with a multi-vendor standard such as Java is that any changes to the standard have to be implemented not just once but in every provider. You have the social issue of ensuring that all providers do it and the technical issue of ensuring that they do it right. (Java is somewhat less disadvantaged than many "standards" on this point.) This is enough to discourage many worthy improvements.
Most commercial programs have deadlines too tight for the developers to make many optimizations. Even when that isn't the case, many programs are tested mostly on trivial cases where speed is not the issue. Even "common case" testing can be bad as the problem size commonly used often increases dramitically and unforeseeably over the life of a program. (Take the first web servers as a good example.)
Computers as we know them aren't different not because of lack of innovation but because of lack of popular application of those innovations. For example OO has been around for a long time but the only OO languages with any major popularity are Java and C++, both of which have serious drawbacks that hamper thier effectiveness.
Another example -- sensible memory handling including garbage collection can solve many of the crashing problems we have (yes, linux programs sigsegv ocasionally,too :) But you can't see GC integrated into any mainstream OS currently. I for one am all for sacrificing a few cpu cycles for stablity -- what good does a fast program do if you loose a night of work due to a bad pointer somewhere? Besides, we'd find ways to make it even faster if there were wider usage. I can even imagine hardware-accellerated GC.
I'm not suggesting that these would solve the world's problems or that they're the best solution or insert-your-favorite-flamewar-topic-here. I'm just saying that the vast majority of new, innovative solutions are unimplemented because of PHB's with severely impared long-term vision.
Free software seems to avoid these two pitfalls. Therefore I predict that free software will continue to improve the state of desktop computing as long as it tries to actually innovate instead of immitate. (not that it is horribly bad to immitate a good, successful function)
I remember the first time I used a Mac. Someone got me into a strangely addicting little mille bornes game. Everything went great until the program crashed. I clicked on the "mille bornes" icon lots of times but the stupid thing wouldn't load. I even tried rebooting the computer. Finally, I explained my woes to the first person, who told me that I needed to click twice on the icon really fast. I didn't find that intuitive at all. I was really happy to get back to a dos box with a nice, intuitive command prompt. (Sure, I had to learn the commands first, but my point is you have to learn commands whether they are represented in form of mouse acrobatics or odd letter combinatations.)
The point of good GUI design is to limit the amount of learning required by advertizing the commands available. Sure, I love root menu windows as much as the next person (minimizes the need for mouse movement thus increasing productivity), but they totally fail in the advertising category. I certainly didn't know about them until I figured out that the random harrassing menus from my wm and the occasional stray mouse click were related. (yes, I did rtfm -- the fm wasn't that good.) Perhaps an ugly "click anywhere on the background to start" bitmap should be default on linux-for-dummies distros. ;)
The annoying start menu button, as far as I can see, has the same basic functionality as the root window menu, but with the advantage of visiblity and the disadvantage of having to move your mouse to that small little box to do anything. Personally, I feel that something in between start menus and root menus would be much better than either one, but so far I can't come up with anything. So I'll stay with root menus for me and start menus for the masses
GTK supports an automatic keyboard shortcut feature -- highlight any menu item with the mouse and hit the key combo that you want to be the shortcut. Any app in which the developer had the oversight to autosave your shortcut settings can be tivially fixed. Hope this solves some of your usablity problems. I personally would be interested in knowing any other suggestions you may have.
Many people have asked why Netscape releasing version 6 matters. The reason is that for many people this is their first exposure to free software. (yes, I know that bind, sendmail, and many other free software programs are used regularly by the average luser, but they don't realize it so it has nil effect.)
;)
Should ns6 be buggy or slow or nonstandard or whatever it will turn people off to free software. (sad, but true.) Furthermore, and perhaps more important to free software developers, mozilla is the flagship example of freeing the source of a commercial project. Should Mozilla fail, the chances of other companies opening up the source to thier projects dwindles. If someone were to suggest it they would just say that "they don't want to create another mozilla."
Mozilla's been tough for all involved, but it's an experiment we can't really afford to loose.
Speaking of standards conformance, last time I checked MSIE's User-Agent violates the HTTP specification.
Great idea! But be careful to avoid legal problems. You could get sued, especially if you use that as your return address (for impersonating them or something like that, IANAL)
Perhaps,but far more likely is the butterfly effect -- we really can't tell how a change is likely to affect the long-term health and social factors of billions of people, so it's better to play it safe.