Erik Naggum <e...@naggum.net> writes: > Hm. Can the ideas behind C++ be re-expressed sanely? There should be a > lot of really good ideas and good material in that language, but I tend > to believe that the sheer pain of expressing oneself in it creates a > "creative climate" that produces really weird results.
"The Design and Evolution of C++" by Stroustrup should be required reading by would be language designers, if only to know what to avoid. In the first chapter, he describes his experience with Simula, which he highly praises for expressiveness, modularity and ease of programming. Then comes the following sentence: "The implementation of Simula, however, did not scale in the same way. ... My conclusion at the time was that the Simula implementation (as opposed to the Simula language) was geared to small programs and was inherently unsuitable for larger programs." Now instead of researching compilation strategies for Simula and making a better implementation he goes off and invents C++. You could eliminate about half of C++ pain points by removing this one decision: "In Simula, it is not possible to have local or global variables of class types; that is, every object of a class must be allocated on the free store using the new operator. Measurements of my Cambridge simulator had convinced me this was a major source of inefficiency." One implementation isn't optimised for a feature and so the feature can't be implemented efficiently.
I'm fairly certain that if the same intellectual effort had been poured into Simula compilers that has been wasted^Wused on C++ compilers, we would have far better programming environments today.
-- Lieven Marchand <m...@wyrd.be> She says, "Honey, you're a Bastard of great proportion." He says, "Darling, I plead guilty to that sin." Cowboy Junkies -- A few simple words
* Lieven Marchand wrote: > [(Quoting Stroustrup)] > "In Simula, it is not possible to have > local or global variables of class types; that is, every object of a > class must be allocated on the free store using the new > operator. Measurements of my Cambridge simulator had convinced me this > was a major source of inefficiency."
Do I parse this correctly? What he seems to be saying is that heap allocation is a major source of inefficiency. Did decent GCs exist when he designed C++? did he know about them?
> One implementation isn't > optimised for a feature and so the feature can't be implemented > efficiently.
I am now terrified that the billions of dollars spent on C++ have been spent solely because someone couldn't work out the difference between a language and an implementation of that language, and used data about the latter to draw conclusions about the former. This can't be true, can it? Oh dear.
Tim Bradshaw <t...@cley.com> writes: > * Lieven Marchand wrote:
> > [(Quoting Stroustrup)]
> > "In Simula, it is not possible to have > > local or global variables of class types; that is, every object of a > > class must be allocated on the free store using the new > > operator. Measurements of my Cambridge simulator had convinced me this > > was a major source of inefficiency."
> Do I parse this correctly? What he seems to be saying is that heap > allocation is a major source of inefficiency. Did decent GCs exist > when he designed C++? did he know about them?
You parsed it correctly. Further in the paragraph, he goes on: "For example, measurements showed that more than 80% of the time was spent in the garbage collector despite the fact that resource management was part of the simulated system so that no garbage was ever produced."
I'm quite willing to believe GCs then weren't what they are now, but there probably was a way to tell the system not to gc even then, and even if there wasn't, adding it to the implementation would have been far more efficient than designing and implementing a new language.
> I am now terrified that the billions of dollars spent on C++ have been > spent solely because someone couldn't work out the difference between > a language and an implementation of that language, and used data about > the latter to draw conclusions about the former. This can't be true, > can it? Oh dear.
That's the conclusion I draw from the first chapter of that book. An instructive read. Lisp afficionados might be interested to know that the C++ precursor C with Classes had :before and :after methods but they were removed because too few people used them.
-- Lieven Marchand <m...@wyrd.be> She says, "Honey, you're a Bastard of great proportion." He says, "Darling, I plead guilty to that sin." Cowboy Junkies -- A few simple words
* Lieven Marchand <m...@wyrd.be> | You parsed it correctly. Further in the paragraph, he goes on: "For | example, measurements showed that more than 80% of the time was spent in | the garbage collector despite the fact that resource management was part | of the simulated system so that no garbage was ever produced." | | I'm quite willing to believe GCs then weren't what they are now, but | there probably was a way to tell the system not to gc even then, and even | if there wasn't, adding it to the implementation would have been far more | efficient than designing and implementing a new language.
Garbage collection has led people astray several times. It seems to be somewhat like taxation -- people who do not want to think things through tend to get ticked off by this cost that they do not accept, but if they do not see it, they accept it nonetheless, such as when the malloc/free implementation most C and C++ systems use does not measure the time it uses so nobody can really tell without profiling the whole application.
Case in point: Emacs used to tell people that it was garbage collecting. A lot of people complained. So I removed the message and let users at the U of Oslo CS Dept use the modified Emacs. Several people thought that Emacs had become more responsive (*snicker*) and nobody complained about the gc pauses that were no longer announced. This change was accepted and available to the public from Emacs 19.31. (The variable garbage-collection-message controls the behavior. Set it non-nil to see how much you get annoyed by the gc messages.)
Incidentally, the U of Oslo CS Dept taught Simula in its introductory CS classes. It was indeed a language that forced upon the implementation an amazingly high overhead. But regardless of the inherent overhead, the compiler implementation was not exactly very optimized and the runtime system was bloated, its I/O model was designed for batch processing with punched cards and line printers, and while it left most students with an understanding of the concepts of object-oriented programming (at least as it applied to simulation purposes), it was not a language anyone would want to use for real applications. From reading the specification (a nice little booklet), it appeared hard to remove the inherent overhead that the langauge required of any implementation, and this was not just the garbage collection issue.
In general, it seems to be a very serious mistake to report the time spent in garbage collection or even report that you did collect garbage at all. Too many users will get ticked off by this useless information and draw the wrong conclusions. Bjarne Stroustrup is not the first to reach a seriously flawed conclusion from a personal grudge with garbage collection, and he is very unlikely to be the last.
/// -- Norway is now run by a priest from the fundamentalist Christian People's Party, the fifth largest party representing one eighth of the electorate. -- Carrying a Swiss Army pocket knife in Oslo, Norway, is a criminal offense.
Erik Naggum <e...@naggum.net> writes: > Garbage collection has led people astray several times. It seems to be > somewhat like taxation -- people who do not want to think things through > tend to get ticked off by this cost that they do not accept, but if they > do not see it, they accept it nonetheless,
For various reasons, I'm not too sure about this particular analogy. But I liked the rest of the discussion.
In article <ey3elnh162v....@cley.com>, Tim Bradshaw wrote: >* Lieven Marchand wrote:
>> [(Quoting Stroustrup)]
>> "In Simula, it is not possible to have >> local or global variables of class types; that is, every object of a >> class must be allocated on the free store using the new >> operator. Measurements of my Cambridge simulator had convinced me this >> was a major source of inefficiency."
>Do I parse this correctly? What he seems to be saying is that heap >allocation is a major source of inefficiency. Did decent GCs exist >when he designed C++? did he know about them?
Does he say what *kind* of inefficiency? In the C++ ARM, he writes, for instance, that there are *space* inefficiencies when reference semantics are used for composing objects, because of the overhead of allocating separate objects, and the extra space for the pointers. This is basically true; using nested class membership, you can achieve good economy of space in C++, and the space can be allocated all at once, the size being statically determined by the type.
The problem is that nontrivial C++ programs are chock full of reference semantics anyway. To deal with the complexity of their software in the face of the restrictive type system, people use tricks such as value-objects that contain references to dynamic implementations, and serve as interfaces to them.
Erik Naggum <e...@naggum.net> writes: > Case in point: Emacs used to tell people that it was garbage collecting. [snip] > about the gc pauses that were no longer announced. This change was > accepted and available to the public from Emacs 19.31. (The variable > garbage-collection-message controls the behavior. Set it non-nil to see > how much you get annoyed by the gc messages.)
Ah. so YOU're responsible for this! I wondered were all those messages went... I thought maybe they took the garbage collection¹ out of emacs. ;-)
Moral: I should read the NEWS files more carefully when I get a new version...
¹[or maybe just removing the _garbage_ would have sufficed? :-)]
-- It would be difficult to construe Larry Wall, in article this as a feature. <1995May29.062427.3...@netlabs.com>
m...@oscar.eng.cv.net (Marc Spitzer) writes: > If you use 1 gpled file in your applacation by mistake and > distribute it FSF claims that the app is now gpl and the people who > used my app now have the right to all of my work for free and I have > no right to compensation for the extra value provided by the source.
No, he will be accused in the infringement of the copyright law, because he has no rights to distribute FSF's code. There will be two solutions: to stop distributing or to get a right. The second way differs traditional companies and FSF: in the former case he will buy a license, and in the latter - will GPL his code.
In article <slrn9u2tjc.d1d.m...@oscar.eng.cv.net>, Marc Spitzer wrote: >I do no think that the gpl is built around rights. I think it is >built around imposing oblagations on others. If you use 1 gpled >file in your applacation by mistake and distribute it FSF claims that >the app is now gpl and the people who used my app now have the right
If you use a GPLed file by mistake, then you're an idiot.
What exactly is your point? That every piece of source code you can get your hands on should be in the public domain, so that in case you ``accidentally'' put it in your program, you are not violating any license?
>to all of my work for free and I have no right to compensation for the
Bullshit. The unlawful inclusion of copyrighted material into your work does not cause your work to lose its copyright protection. This is a simple case of infringement. A stupid mistake was made that you can repair in various ways, such as removing the GPLed source file from future releases of your program. Whether or not you want to put your program under the GNU License is entirely up to you.
>extra value provided by the source. I think for most end users source >has no real value most of the time, they just want it to work.
Even users who don't do anything with source code benefit from that source code being available to *others*.
Also, how can something have value some of the time, but not most of the time? Something has value when it has a potential to be used in some way. That potential does not exist only when that use is made; it is latent.
Really, you should consider allowing for the collaboration of two or more brain cells in the formation of a Usenet posting.
> This >would apply even if you removed the file and redistributed your app.
If you remove the file which is the source of infringement, then the work is no longer a copyright infringement. The existing copies of the work in circulartion are still infringing; there isn't anything you can do about that other than inform the users about the issue. Once the users know that they are using an infringing work that has been recalled, it's up to them to decide what to do.
In article <slrn9u2tjc.d1d.m...@oscar.eng.cv.net>, Marc Spitzer wrote: >I do no think that the gpl is built around rights. I think it is >built around imposing oblagations on others. If you use 1 gpled >file in your applacation by mistake and distribute it FSF claims that >the app is now gpl and the people who used my app now have the right
If you use a GPLed file by mistake, then you're an idiot.
What exactly is your point? That every piece of source code you can get your hands on should be in the public domain, so that in case you ``accidentally'' put it in your program, you are not violating any license?
>to all of my work for free and I have no right to compensation for the
Bullshit. The unlawful inclusion of copyrighted material into your work does not cause your work to lose its copyright protection. This is a simple case of infringement. A stupid mistake was made that you can repair in various ways, such as removing the GPLed source file from future releases of your program. Whether or not you want to put your program under the GNU License is entirely up to you.
>extra value provided by the source. I think for most end users source >has no real value most of the time, they just want it to work.
Even users who don't do anything with source code benefit from that source code being available to *others*.
Also, how can something have value some of the time, but not most of the time? Something has value when it has a potential to be used in some way. That potential does not exist only when that use is made; it is latent.
Really, you should consider allowing for the collaboration of two or more brain cells in the formation of a Usenet posting.
> This >would apply even if you removed the file and redistributed your app.
If you remove the file which is the source of infringement, then the work is no longer a copyright infringement. The existing copies of the work in circulartion are still infringing; there isn't anything you can do about that other than inform the users about the issue. Once the users know that they are using an infringing work that has been recalled, it's up to them to decide what to do. But it's certainly not the case that your entire program is being offered to them under the GPL.
In article <rh6F7.12164$Ud.354...@news1.rdc1.bc.home.com>, Kaz Kylheku wrote: > In article <slrn9u2tjc.d1d.m...@oscar.eng.cv.net>, Marc Spitzer wrote: >>I do no think that the gpl is built around rights. I think it is >>built around imposing oblagations on others. If you use 1 gpled >>file in your applacation by mistake and distribute it FSF claims that >>the app is now gpl and the people who used my app now have the right
> If you use a GPLed file by mistake, then you're an idiot.
Thanks for the insight, words of true genius.
> What exactly is your point? That every piece of source code you can > get your hands on should be in the public domain, so that in case you > ``accidentally'' put it in your program, you are not violating any > license?
here is my point the gpl is NOT NOT NOT free, but is presented as free and this is dishonest and misleading.
>>to all of my work for free and I have no right to compensation for the
> Bullshit. The unlawful inclusion of copyrighted material into your work > does not cause your work to lose its copyright protection. This is a > simple case of infringement. A stupid mistake was made that you can > repair in various ways, such as removing the GPLed source file from > future releases of your program. Whether or not you want to put your > program under the GNU License is entirely up to you.
once code is touched by gpled code the FSF's oppinion is that it is all gpled code, as I unserstand it.
>>extra value provided by the source. I think for most end users source >>has no real value most of the time, they just want it to work.
> Even users who don't do anything with source code benefit from that > source code being available to *others*.
I just do not agree with that, most users want support and that is it. I think they would prefer prompt quality support over source avilabity hand down.
> Also, how can something have value some of the time, but not most of > the time? Something has value when it has a potential to be > used in some way. That potential does not exist only when that use > is made; it is latent.
something is of value to me IFF I need or wnat it, then and only then can we dicker over it value to me(buyer) versus it value to you(seller). let me give you a concrete example: how much is 10 gallons of drinking water worth in: the desert, if you do not get this water you die your house, where you have more water then you need
the water is exactly the same but it value has changed drasticly
here is another example you the ingredients needed to make 40 apple pies and it is worth X
1: and you have an incomptent chef. Because of that you have no pies and no ingredents at the end of the day
2: and you have a master chef that makes great and wonderious apple pies that you can sell for 3x the price of a regular apple pie.
Both of those examples show that things do not have innate value but depend on the situation. Does this make sence now??
> Really, you should consider allowing for the collaboration of two > or more brain cells in the formation of a Usenet posting.
how does this personal atack help you make your point? Or is this your point?
>> This >>would apply even if you removed the file and redistributed your app.
> If you remove the file which is the source of infringement, then the work > is no longer a copyright infringement. The existing copies of the work in > circulartion are still infringing; there isn't anything you can do about > that other than inform the users about the issue. Once the users know that > they are using an infringing work that has been recalled, it's up to > them to decide what to do.
Here are the steps that get me into the source code maintenence business:
1: I by acedent use some gpled software in something I write. 2: I release a tarball and to be nice a binary rpm 3: I relize I made a mistake and remove the gpled code 4: because of the binary distribution in step 2 I am now required to keep a copy of the source avalable for 3 years as per the gpl
is that simple enough for you?
you do not get it do you, once I do the binary distribution containing gpled code the licence requires me to make source avalable for 3 years there is no do over clause in the license.
In article <slrn9ub5ik.vt5.m...@oscar.eng.cv.net>, Marc Spitzer wrote: >here is my point the gpl is NOT NOT NOT free, but is presented as free >and this is dishonest and misleading.
Would you like to actually name someone, and accuse him or her of lying?
As far as ``free'' goes, the GNU advocates go through great pains to tell everyone what they mean when they use the word, to the point of being irritating to some.
If you read any document and it uses a word like ``free'' that has many meanings, and you substitute your own interpretation rather than look up the intended meaning in the document's glossary, then it's not the case that the document is dishonest and misleading, but rather than you are an idiot who doesn't know how to read a document correctly.
In article <G5hF7.13453$Ud.421...@news1.rdc1.bc.home.com>, Kaz Kylheku wrote: > In article <slrn9ub5ik.vt5.m...@oscar.eng.cv.net>, Marc Spitzer wrote: >>here is my point the gpl is NOT NOT NOT free, but is presented as free >>and this is dishonest and misleading.
> Would you like to actually name someone, and accuse him or her of lying?
It was explained in my previous post, in a part you cut out that I do not think anything that comes with oblagations is free, my dictionary agrees with me on this(see below)
> As far as ``free'' goes, the GNU advocates go through great pains to > tell everyone what they mean when they use the word, to the point > of being irritating to some.
I do not care what made up definition they use I care about the agreed apon definitions used by everyone else.
> If you read any document and it uses a word like ``free'' that > has many meanings, and you substitute your own interpretation rather > than look up the intended meaning in the document's glossary, > then it's not the case that the document is dishonest and misleading, > but rather than you are an idiot who doesn't know how to read > a document correctly.
Just to be sure I was not wrong I just reread the definition of free in the dictionary and all of the definations seem to contradict the FSF's personel definition of free. Now I am able to decide to call rare roast beef cheese, but if I order a cheese sandwich I do not think I have any right to expect a roast beef sandwitch, do you? Well let me type in my dictionaries definition of free: free: 1: having liberity 2: not controled by others 3: made or done voluntarily 4: released or not suffering from something unpleasant 5: not subject to a duty tax or other charge 6: not obstructed 7: not being used or occupided 8: not fastened 9: lavish 10: open , frank 11: given with out charge 12: not literal or exact 13: not restricted by conventional forms
The dictionary is "The New Merriam-Webster Dictionary" copy right 1989
the FSF definition of free seems to contradict 2, 5, 6 and 11 easly and 4 and 10 are a matter of opinion.
and will you please stop with the idiot remarks, I have test score that prove I am not an idiot. I have been a fool on several occasions but I do not think this is one of them.
Also as evdence of your masterful braininess could you just once atack the arguments I put fourth and not me. Is that possable for you to do just once as a proof of concept demo?
In article <slrn9uba6f.vt5.m...@oscar.eng.cv.net>, Marc Spitzer wrote: >In article <G5hF7.13453$Ud.421...@news1.rdc1.bc.home.com>, Kaz Kylheku wrote: >> In article <slrn9ub5ik.vt5.m...@oscar.eng.cv.net>, Marc Spitzer wrote: >>>here is my point the gpl is NOT NOT NOT free, but is presented as free >>>and this is dishonest and misleading.
>> Would you like to actually name someone, and accuse him or her of lying?
>It was explained in my previous post, in a part you cut out that I do >not think anything that comes with oblagations is free, my dictionary >agrees with me on this(see below)
So you must object to a whole lot of uses of the word ``free'' made in the market place.
>> As far as ``free'' goes, the GNU advocates go through great pains to >> tell everyone what they mean when they use the word, to the point >> of being irritating to some.
>I do not care what made up definition they use I care about the agreed >apon definitions used by everyone else.
The most common definition used in the consumer marketplace is that free means you don't have to pay. Since you can obtain GNU-type software that way, this interpretation holds true.
For instance, a GNU program is *at least* as free as Internet Explorer, which Microsoft claims is free for download.
What about all those vendors who offers you a ``free gift''---with a purchase, of course.
>Just to be sure I was not wrong I just reread the definition of free >in the dictionary and all of the definations seem to contradict the >FSF's personel definition of free.
>let me type in my dictionaries definition of free: >free: >1: having liberity >2: not controled by others >3: made or done voluntarily >4: released or not suffering from something unpleasant >5: not subject to a duty tax or other charge >6: not obstructed >7: not being used or occupided >8: not fastened >9: lavish >10: open , frank >11: given with out charge >12: not literal or exact >13: not restricted by conventional forms
>The dictionary is "The New Merriam-Webster Dictionary" >copy right 1989
>the FSF definition of free seems to contradict 2, 5, 6 and 11 easly >and 4 and 10 are a matter of opinion.
Let's see. That leaves 1, 3, 7, 8, 9, 12 and 13. You said above that the FSF's usage seems to contradict *all* of the nuances of the word covered in your dictionary, not only six out of thirteen.
>and will you please stop with the idiot remarks, I have test score >that prove I am not an idiot.
Your test scores mean nothing here. Stop being an idiot here, and the remarks will stop. Perhaps your test didn't require the ability to count to 13.
* Kaz Kylheku | As far as ``free'' goes, the GNU advocates go through great pains to | tell everyone what they mean when they use the word, to the point | of being irritating to some.
But this alone should tell you that they are not being entirely honest. Their use of "free" is deliberately misleading, _because_ they throw the whole dictionary at you if you think it means what it normally means of things: A free thing is obtainable at no cost and without restricting conditions on how it can be acted upon, while a free person is without restrictions on his movements and actions. "Free" as used by the FSF is _neither_, it is instead a very specific set of restrictions, so harsh they can threaten to take what you have created if you fail to keep some part of a copyright license -- a threat that is _probably_ not honorable by any court in the world. This use of "free" is Orwellian newspeak.
| If you read any document and it uses a word like ``free'' that has many | meanings, and you substitute your own interpretation rather than look up | the intended meaning in the document's glossary, then it's not the case | that the document is dishonest and misleading, but rather than you are an | idiot who doesn't know how to read a document correctly.
The funny thing with "free" is that some people consider their needs so important that other people's freedom or lack thereof become irrelevant. No "glossary" is going to remove that aspect of _misuse_ of "free", and if a glossary attempts to do so, there is ample reason to suspect that the authors of said document are trying to trick someone. That is, the usual way to deal with glossaries is to ensure that _technical_ terms are properly narrowly defined and if they are technical terms, the author is free to invent new terms and define their meaning, but it is suspicious when a non-technical term is completell redefined compared to standard meanings, like when a country decides to put "democratic" in its name to ensure the world that the people _really_ wanted that kind of government.
I used to believe it was a good idea to call it "Free Software" because the freedom of the users was so important. That was as long as I was a user. When I had given away a couple thousand hours of work on various "Free Software" projects (time flies when you're having fun and no reason to prioritize), I came to conclude that all this freedom did not apply to creators of significant portions of anything, only to consumers who did a _little_ tinkering, and I lost interest fast. Not only because of the lack of actual freedom to do what I wanted with what I had created, but because te whole idea of "Free Software" emanated from a desire not to lock people into a designer's decisions. Applications that allow users to tinker should not provide source code to everything, but should be written in a language that allows the user to patch things in a way that does not require complete recompilation, nor use a complete replacement of the patched functions. It is important that the "user language" is a complete programming language. In short, I concluded that writing "Free Software" in C and similar languages in order to give programmers more freedom was _nuts_ -- the right solution is to use Lisp, and preferably something based on the best industry practice, Common Lisp, and give users the ability to load patches and do useful things in the programming framework that the application provides. This is why I think it makes sense to let Common Lisp applications be deployed very differently from the usual compiled binary, but it has to be followed up, and designers of such applications need to think in the proper user programming terms. Some of the possibly best examples of this kind of application is the spreadsheet and the database system. So if "cat" is a useful program to enhance, it should simply be regarded as a function in a larger system and that system should support user modifications on a much higher level than replacing the whole program. Not only will a new version of the core program force the user to keep modifying the program's source over and over for no good reason, mixing several people's changes will be so tough that there is good reason not to make "deviant" versions at all, and _then_ what is the point of this whole exercise? Presumably, all such modifications would have to be reported back to the maintainer, but it would be impossible to accept all kinds of modifications. This again means that only those patches that some maintainer accepts will be made to the program. What kind of _freedom_ is this?
After a long process of not being to happy about the sitution, I had to conclude that "Free Software" was all wrong and that getting lots of people to contribute to something like this and _profit_ from it in the _long_ run would require a whole different model. Which one I could not tell and have not figured out, yet, but I am quite certain it cannot be the very _coercive_ model used by the "Free Software" movement. I am far from thrilled with the other "Open Source" movements, either, but that is probably because I have spent some time studying copyright, software, and internet law. The whole idea of sharing stuff for free is unsustainable and can only work for a short time, because something else is keeping it afloat. I have repeatedly argued and maintain that the reason people are willing to give away their work to their community is that they are like soldiers fighting the evil empire, Microsoft. Once that objective has been achieved or it appears to be, the will to give away (let us call it a (small) sacrifice) evaporates and we will have so many "veterans" who will feel that the community they gave up (part of) their youth for, or at least a shot at selling their skills for real money, is not rewarding or even remembering them -- just like in the rest of real life, far from everybody who made a difference will be remembered and those who tried but did not make a difference will be forgotten and will have received nothing lasting in return for it. As for the case where some company charges real money only to create and give something away, it will most probably be ruled anti-competitive if this all somehow gets out of hand and anyone wants to challenge those who have given things away in court because they have actively blocked any and all competitors that could afford to give their stuff away. This is particularly bad when making improvements would require giving away those improvements to what should have been a bone-fide competitor. Since a major momentum for the "free software" movement is precisely to copy the inventiveness of companies who had to pay for their developers and there is solid evidence to show that even while not copying a non-free competitor, other competition has been a major source of improvements. When the competition is thus ruled out of the picture by the _success_ of the "free software" plan, what looked like paranoid rantings and ravings from Steve Ballmer some time ago, may actually turn out to be a likely future, and it _will_ be anti- competitive and anti-inventive. On the one hand, somebody will always want something for free, and someone will always want to make it for free as long as there is an "enemy" to fight, but what happens when somebody wants something and the _only_ source of that new feature would be the "free" version? How many people can you fool into giving their work away for how long when they could have made money selling it? Watching people find ways to make money on "free software" will be interesting, as it will be interesting to watch people who compete with the "free software" offerings try to continue to make money. I personally fear that there will be free product categories and non-free product categories, and that a product category that gets taken overy the "free software" people will wither and die, being monopolized by a "free software" product. I do not see this as a good thing.
/// -- Norway is now run by a priest from the fundamentalist Christian People's Party, the fifth largest party representing one eighth of the electorate. -- Carrying a Swiss Army pocket knife in Oslo, Norway, is a criminal offense.
* k...@ashi.footprints.net (Kaz Kylheku) | The most common definition used in the consumer marketplace is that free | means you don't have to pay. Since you can obtain GNU-type software that | way, this interpretation holds true.
No, it does not. If I get some gizmo for free, it is mine to use, abuse, destroy, take apart and use the parts for something else, etc. If I get some GNU GPL'ed source code for "free", if I take it apart and use the parts for something else, I suddenly owe somebody else something. This is _not_ what "free" means. If I modify the free gizmo and find a way to make some better gizmo, I owe nobody anything. If I do the same with a GNU GPL'ed program, I must give the new, better idea back to whoever gave it to me for "free". I think there is an old idiom, "Indian giver" or something, which applies to people who do not _really_ give things away.
| For instance, a GNU program is *at least* as free as Internet Explorer, | which Microsoft claims is free for download.
Well, yes, as long as you do not use the source code, which is supposedly the whole point with the GNU GPL.
/// -- Norway is now run by a priest from the fundamentalist Christian People's Party, the fifth largest party representing one eighth of the electorate. -- Carrying a Swiss Army pocket knife in Oslo, Norway, is a criminal offense.
Erik Naggum <e...@naggum.net> writes: > * k...@ashi.footprints.net (Kaz Kylheku) > | The most common definition used in the consumer marketplace is that free > | means you don't have to pay. Since you can obtain GNU-type software that > | way, this interpretation holds true.
> No, it does not. If I get some gizmo for free, it is mine to use, abuse, > destroy, take apart and use the parts for something else, etc. If I get > some GNU GPL'ed source code for "free", if I take it apart and use the > parts for something else, I suddenly owe somebody else something. This > is _not_ what "free" means. If I modify the free gizmo and find a way to > make some better gizmo, I owe nobody anything. If I do the same with a > GNU GPL'ed program, I must give the new, better idea back to whoever gave > it to me for "free". I think there is an old idiom, "Indian giver" or > something, which applies to people who do not _really_ give things away.
The comparisons being drawn relate to software; when Microsoft offers a "free" copy of IE, or Oracle offers a "free" copy of some database product, or Franz offers a "free" copy of ACL, you don't have any of those freedoms either. You can't modify IE and pass it on, even though "it's free."
And remember, there's no such thing as "free beer," because you can only ever _borrow_ beer. :-)
> | For instance, a GNU program is *at least* as free as Internet Explorer, > | which Microsoft claims is free for download.
> Well, yes, as long as you do not use the source code, which is supposedly > the whole point with the GNU GPL.
What would be the circumstance where you're _less_ free to use a GNU program than you are to use Internet Explorer? Remember, the fact that you have access to sources for the GNU program provides options you'd never be likely to have with IE... -- (reverse (concatenate 'string "moc.enworbbc@" "sirhc")) http://www.ntlug.org/~cbbrowne/lsf.html It is usually a good idea to put a capacitor of a few microfarads across the output, as shown.
* cbbro...@acm.org | The comparisons being drawn relate to software;
Software is not materially different from any other object being traded.
| when Microsoft offers a "free" copy of IE, or Oracle offers a "free" copy | of some database product, or Franz offers a "free" copy of ACL, you don't | have any of those freedoms either.
Part of the problem here is equivocation. These "free" things mean only and explicitly "free of charge", not any political mumbo-jumbo. They also come with extensive licenses that you have to agree to. When you get GNU software, this licensing stuff is _not_ made explicit up front in all cases, and the consequences are far from obvious. I believe this is intentional. GNU Emacs is the only GNU program I know that does a really good job of making the licensing issue explicit and clear, and Debian is the only GNU/Linux distribution that does a good job of making their policies explicit. I think the strings attached to GNU "free software" should be advertised much more vigorously.
| You can't modify IE and pass it on, even though "it's free."
True, but they only come sue me if I do something I am not licensed to do. In the case of GNU GPL'ed stuff, they can, in theory, force me to give away stuff that is not related to the object whose license I have supposedly violated.
| And remember, there's no such thing as "free beer," because you can only | ever _borrow_ beer. :-)
:)
| What would be the circumstance where you're _less_ free to use a GNU | program than you are to use Internet Explorer?
Well, when you would like to exercise those source access options...
| Remember, the fact that you have access to sources for the GNU program | provides options you'd never be likely to have with IE...
True, but they come with a very hefty price tag. It is in fact a very good idea _not_ to exercise those options because of that price tag.
/// -- Norway is now run by a priest from the fundamentalist Christian People's Party, the fifth largest party representing one eighth of the electorate. -- Carrying a Swiss Army pocket knife in Oslo, Norway, is a criminal offense.
In article <3213910032404...@naggum.net>, Erik Naggum wrote: >* k...@ashi.footprints.net (Kaz Kylheku) >| The most common definition used in the consumer marketplace is that free >| means you don't have to pay. Since you can obtain GNU-type software that >| way, this interpretation holds true.
> No, it does not. If I get some gizmo for free, it is mine to use, abuse, > destroy, take apart and use the parts for something else, etc.
Really? Do you suppose that you can legally do this with ``free software'' like Internet Explorer?
Most so called ``free software'' can't even be redistributed in the form you got it, never mind taken apart or modified.
> If I get > some GNU GPL'ed source code for "free", if I take it apart and use the > parts for something else, I suddenly owe somebody else something.
What you owe is only the same courtesy you were given.
> This > is _not_ what "free" means. If I modify the free gizmo and find a way to > make some better gizmo, I owe nobody anything.
If the gizmo is that much better than the original work, then why did you need the original to start with? Should you be able to usurp any rights over the original code, just because of your enhancement?
> If I do the same with a > GNU GPL'ed program, I must give the new, better idea back to whoever gave > it to me for "free".
Actually, you do not. But you are required, if you redistribute your program, to put your *expression* of that idea under the same license.
So you are making exactly the same concessions that the original authors did; nothing more or less. They can't do anything with your contributions that you cannot do with theirs; it's perfectly equal. You are not gaining control over anyone's code, and they are not gaining control over yours.
It was you who not long ago here explained so clearly the difference between *ideas* and their *expression*.
If you don't like the license, take your *ideas* and *express* them in a different substrate, one whose politics suit you better. You are still free to do that even though you granted the expression of your ideas to the GPLed project.
Example: say you contribute some authentication system to some free client/server system. That does not preclude you from using the same authentication system in your proprietary program, even the same expression of it. Another obvious example is BSD-licensed code that is used in GPLed programs; that same code is also used in proprietary programs. Its presence in the GPLed programs does not threaten these other instances that exist within proprietary programs.
You also have to be careful to distinguish between GPLed program and GNU program. The Free Software Foundation asks for copyright transfers and employer waivers when you contribute to their software. This is not required by the GNU license; it's a separate activity the FSF engages in. It actually makes a lot of good sense, because without the copyright transfers and waivers, a program, especially one with many authors, is at risk of future infringement claims. It's not intended to wrestle the software away from programmers. They go through this hassle voluntarily, as I have.
It's true that when you sign such a copyright transfer, you do lose your rights over the code. But that has nothing to do with the GNU license; it's a contribution prerequisite imposed by the maintainers of a particular stream of the program. Someone can make a fork of the program and accept patches from you without *without* asking for such a copyright assignment.
If I'm maintaining a free program, and I ask you to play the fiddle while standing on your head before I accept a patch, then by golly, you will do that, or I won't accept the patch into my stream. :) With GPLed software, you have the right so say screw that, and start your own fork.
In article <3213912667651...@naggum.net>, Erik Naggum wrote: >* cbbro...@acm.org >| The comparisons being drawn relate to software;
> Software is not materially different from any other object being traded.
Nonsense; software is entirely abstract. All identical copies of a program are EQ; they are really one program.
The object that is traded is some medium, like a polycarbonate disc embedding some metallic foil. But nobody thinks of the transaction as being the exchange of plastic, which costs pennies.
What you are trading is something abstract, symbolic that is represented in the medium.
>| when Microsoft offers a "free" copy of IE, or Oracle offers a "free" copy >| of some database product, or Franz offers a "free" copy of ACL, you don't >| have any of those freedoms either.
> Part of the problem here is equivocation. These "free" things mean only > and explicitly "free of charge", not any political mumbo-jumbo. They > also come with extensive licenses that you have to agree to. When you > get GNU software, this licensing stuff is _not_ made explicit up front in > all cases, and the consequences are far from obvious.
That's because you don't have to agree to any license to *use* GNU software. No licenses pop up in your face because there is nothing to agree to.
I've noticed that some GNU programs, in particular ones for Windows, pop up the GNU license in the installer and require the user to agree to it.
That is ridiculous and unnecessary, because the user is installing the program, not redistributing it!
> I believe this is > intentional.
It is. Why shove licensing in the face of people, when 99% of them will ever only *use* the program, which requires no licensing?
>| You can't modify IE and pass it on, even though "it's free."
> True, but they only come sue me if I do something I am not licensed to > do. In the case of GNU GPL'ed stuff, they can, in theory, force me to > give away stuff that is not related to the object whose license I have > supposedly violated.
Only if you accidentally make it appear that you are offering that stuff under the license. For instance, you add the stuff to a program, and that program's distribution contains a COPYING file which apears to apply to that stuff.
But otherwise, if a mistake is made, it's a straight case of infringement, whose resolution is not necessarily that you are forced to give away your stuff.
>| And remember, there's no such thing as "free beer," because you can only >| ever _borrow_ beer. :-)
> :)
And with beer, nobody really *wants* your modified version. ;)
Erik Naggum <e...@naggum.net> writes: > ... I think there is an old idiom, "Indian giver" or > something, which applies to people who do not _really_ give things away...
Without prejudice as to the usefulness of the expression in this context, I think you have to say "Native American giver" now, though no one does. ;)
It seems to me like whatever the group is, they got a bad rap. Things were mostly only taken from them and NOT given back. I don't know why they, of ALL people, would be associated with inappropriate desire to have things returned.
Erik Naggum <e...@naggum.net> writes: > * cbbro...@acm.org > | The comparisons being drawn relate to software;
> Software is not materially different from any other object being > traded.
> | when Microsoft offers a "free" copy of IE, or Oracle offers a > | "free" copy of some database product, or Franz offers a "free" > | copy of ACL, you don't have any of those freedoms either. > Part of the problem here is equivocation. These "free" things mean > only and explicitly "free of charge", not any political mumbo-jumbo. > They also come with extensive licenses that you have to agree to. > When you get GNU software, this licensing stuff is _not_ made > explicit up front in all cases, and the consequences are far from > obvious. I believe this is intentional. GNU Emacs is the only GNU > program I know that does a really good job of making the licensing > issue explicit and clear, and Debian is the only GNU/Linux > distribution that does a good job of making their policies explicit. > I think the strings attached to GNU "free software" should be > advertised much more vigorously.
I certainly agree that "understanding licensing" should be something that people pay more attention to.
As it were, it might be compared to vegetarianism:
Supposing everyone had to visit an abattoir as part of their education, there would probably be more people, shocked at how messy is the process of getting meat into those styrofoam trays, who would swear off the stuff.
On the other hand, the remainder of the population would likely be a mite less squeamish about a whole lot of things as a result of such an experience.
A lot of things about life are messy, and hiding the details behind a curtain isn't terribly helpful, at least not as a persistent condition.
As for the GPL being somehow "hidden," that strikes me as being largely nonsensical. The folks at the FSF are definitely quite activist at trying to push out information.
RMS does this more than most; any time I've seen him in person, he's been _so_ vigorous at emitting his opinion on this that about the only people that are likely _not_ to be offended by _something_ he says are those _so_ worshipful of him that they'd pretty much be characterized as an "RMS Personality Cult."
The folks more likely to be hiding licensing issues are those that want to sell you on getting a Linux distribution whilst hiding the notion that there is any thought necessary in considering licensing terms.
> | You can't modify IE and pass it on, even though "it's free." > True, but they only come sue me if I do something I am not > licensed to do. In the case of GNU GPL'ed stuff, they can, in > theory, force me to give away stuff that is not related to the > object whose license I have supposedly violated.
It's been known to happen, once, to my knowledge. NeXT had to release the sources for the Objective C compiler. Not that this has generally proved to be of vast and spectacular importance; while there is now a pretty robust "objc" backend for GCC, it's hardly used. Not that hardly anyone uses Objective C, either; it's probably less used than Lisp :-).
> | And remember, there's no such thing as "free beer," because you can only > | ever _borrow_ beer. :-)
> :)
> | What would be the circumstance where you're _less_ free to use a GNU > | program than you are to use Internet Explorer?
> Well, when you would like to exercise those source access options...
.. which _didn't exist_ with Internet Exploder, so it's _not_ something that you "lose." It's something you didn't _have_ with IE.
-- (reverse (concatenate 'string "moc.enworbbc@" "enworbbc")) http://www.ntlug.org/~cbbrowne/lsf.html "The best design is not predicated on how brain-dead you can be and still operate it." -- David C. Wright
k...@ashi.footprints.net (Kaz Kylheku) writes: > In article <3213912667651...@naggum.net>, Erik Naggum wrote: > >* cbbro...@acm.org > >| And remember, there's no such thing as "free beer," because you > >| can only ever _borrow_ beer. :-) > > :) > And with beer, nobody really *wants* your modified version. ;)
For a fictional counterexample, you'd need to look to the Steve Perry SF novel, _The Man Who Never Missed_. The name of the novel suggest a sort of double-entendre that _doesn't_ relate to the issue, but is fun to throw in anyways... -- (concatenate 'string "cbbrowne" "@ntlug.org") http://www.ntlug.org/~cbbrowne/wp.html "On a normal ascii line, the only safe condition to detect is a 'BREAK' - everything else having been assigned functions by Gnu EMACS." -- Tarl Neustaedter
Kent M Pitman wrote: > Erik Naggum <e...@naggum.net> writes:
>>... I think there is an old idiom, "Indian giver" or >>something, which applies to people who do not _really_ give things away...
> Without prejudice as to the usefulness of the expression in this context, > I think you have to say "Native American giver" now, though no one does. ;)
> It seems to me like whatever the group is, they got a bad rap. Things were > mostly only taken from them and NOT given back. I don't know why they, of > ALL people, would be associated with inappropriate desire to have things > returned.
The term, though used as a put-down, actually describes an admirable attitude about sharing.
"Hyde goes on to describe how the Massachusetts Indians may have shared a peace pipe with the Puritan settlers, leaving the pipe with the newcomers. But the Indians expected the pipe to be returned, or better, recycled and given to others as part of the socially binding cycle of giving peace making: "The Indian giver (or the original one, at any rate) understood a cardinal property of the gift: whatever we have been given is supposed to be given away again, not kept. Or if it is kept, something of similar value should move on in its stead" (Hyde, 1979, p. 4)."
RMS is from Massachusetts, yes? Maybe he has some Mass Indian blood in him. :)