Subj : Re: GNU Public Licences Revisited (again) To : comp.programming From : Rob Thorpe Date : Tue Sep 06 2005 05:15 pm Randy Howard wrote: > Rob Thorpe wrote > (in article > <1125778022.537566.216430@f14g2000cwb.googlegroups.com>): > > >> I see the final product as a running piece of software, not as a > >> dormant sequence of bits in a file. > > > > It's a minor distinction, since the running software comes from the > > dormant sequence of bits. > > You might as well claim that it's a minor distinction whether a > painting is a piece of art instead of just a bunch of paint > slapped onto a canvas. Can you explain the point you're making here? > >> I am fairly confident that there are people equally (and > >> probably more) capable of doing that to x86 binaries today. > >> Someone working on the gcc toolchain internals, or someone at > >> Intel working on their own toolchain would be likely candidates. > >> It makes sense to me that only experts on object code for a > >> given architecture would be good at reading it. *shrug* > > > > To some extent it can be done, however compilers make all kinds of > > transformations these days that make it difficult. > > Difficulty is a problem of ability. Again, for some, I'm sure > that it is considered 'doable' rather than 'difficult'. It's certainly doable, I'm not arguing that, it's just not a feasible way to develop software. > >>> It's application to object code is arbitrary, it was intended to apply > >>> to the work of humans. > >> > >> Object code would not exist without humans (or aliens in area > >> 51, get your AFDB here folks). > > > > No, but what the humans/aliens create is the source code. If the > > object code should have any copyright it should be copyrighted by the > > compiler (!) > > That's like saying that the hammer owns the furniture when it > has been built. Sorry, I don't buy it. I'd say, it's rather like saying that someone cannot patent an invention they haven't revealed. > >> Object code does not need to be comprehensible by > >> humans, it simply needs to be executable on the target platform. > >> The only need for readability springs from attempting to take > >> from the author that which he does not want to give. > > > > I count it as pretty uncivil when the author doesn't want to reveal it. > > That's a shame, but too bad. The author has no moral obligation > to meet your personal definition (or anyone else's) of 'civil'. That is merely your opinion of what is moral. As mine is given by what I said earlier. Who can say what people may consider moral in the future? > > The author of fiction reveals the fiction, the inventor reveals his > > invention. > > The chef with the magic sauce doesn't have to give out the > recipe. Too bad. There example of both, you don't get to > ignore all but those that support your opinion. No, in that case I won't. The chef doesn't have to reveal his secret sauce, and the snake oil saleman his recipe. But in both cases they are supplying physical objects, and attaching no strings to how they're used. They're not for example copyrighting or patenting their secret sauce recipes without revealing them. > >> You do not have to be 'independently wealthy'. I takes a few > >> hundred dollars to self-file in the US, and for <$100 you can > >> obtain one or more copyrighted books telling you how to do so > >> without an attorney. :-) > >> > >> If you want to file in 20 countries, I'm sure the costs and > >> procedures differ, > > > > I believe it cost of the order of =A310K in the UK to get through the > > whole process. For many inventions practically you have to file in the > > US, Europe and now China. > > Most people outside of the corporate spaces are probably more > than adequately served by holding only a US patent, which is > quite reasonable if you do it yourself. In what field? If it's anything electronic or mechanical then it's a very good idea to have it patented in China, since that's where so much stuff is manufactured today. Europe is also very useful for similar reasons. > >> but I bet it's not more than a year's pay for > >> most programmers. If you are smart enough to come up with an > >> idea worth patenting, you are probably smart enough to save up a > >> year's pay. > > > > Assuming you have a good idea the problem isn't the patents themselves > > so much as defending them. In the US the USPTO allow a great many > > patents with little examination, this means that their validity or > > otherwise is dealt with afterwards. You have to have a war-chest of > > money available to pay lawyers to sue those who infringe you - if > > you're serious about defending your patent that is. $1M might do the > > trick. > > If you have anyone even try to infringe you. No point in > pretending that all the things people thing is worthy of a > patent is of even remote interest to others. You could probably > get a patent on a way to use a chainsaw to eat ice cream, and > yet never worry about a competing company stealing your 'great' > idea. :-) No. If you haven't got a good idea it's not a problem. > If your idea is so awe-inspiring that you think it is worth a > $1M legal defense fund, then you probably can find VC funding to > protect it for a share, or an angel investor. The problem is that VCs will not give you funding unless they own the venture. (Though they may give you shares). If effectively means relinquishing control over your idea anyway and trusting those VCs to deal with it correctly. > Or you can ship > your product and due to its awesome new technology, you'll make > millions selling it before anyone else rips off your patent, and > fund it from sales revenue. I think from time to time that can be done. > >> Well, given the "and expect to make money from it" is one heck > >> of a clause to weasel out of it with, I won't disagree 100%, but > >> I'll just say that I could easily afford to push multiple > >> patents through, in several countries, and not worry about it. > > > > Wow, you must be a lot richer than me. > > Perhaps. > > Any idea you think is worth enough to patent in multiple > countries is going to be worth putting money into and making > sacrifices for to ensure its success, even if that means hocking > the car, the house and all the furniture. If you don't believe > in it that much, then it probably isn't worth worrying about > anyway. The simple way, and from what I've seen the effective way is to consider patents to be mearly advertisements. They demonstrate knowledge and experience in a particular area that others are willing to pay for. > >> Whether or not I could expect to make money from them is another > >> matter, because that's too hit or miss. That's why people > >> aren't willing to do it, not because it is too cost prohibitive > >> on its own. They simply want a sure thing, or nothing at all. > > > > Yep, this is exactly the problem much of the time. > > Pity. If you wait all your life for a sure thing, the mortuary > is the only guaranteed result like to be offered up. And taxes ... > >>> Is it practical to design software by reverse engineering? > >> > >> No. But, it is practical to design software by actually doing > >> your own design work. > > > > Absolutely, I wasn't arguing that it wasn't. > > > >> People USED to know this, before open > >> source availability made everyone think they could be a > >> 'designer' by being a good 'copier'. > > > > I think to a certain extent everyone is a copier at some level. > > True, but not the same point. Some people copy good practice > and use existing knowledge to add, extend and build new things. > Some other folks just copy because they can't do anything else. Probably true, it's not a strong argument against eliminating a huge amount of work though. > > How did you learn how to structure large programs? > > I think I'm still learning, by the same process, time, > experience and effort. > > > I expect you did it by > > looking at the large programs you had to maintain. > > Perhaps, if you include the notion of learning what not to do by > suffering through the maintenance of people that didn't know > what they were doing more often than not. I've learnt a lot that way too. And I'm still learning. > > People still do this too, on the occasions when totally new software is > > needed. > > Of course. Yet I think you recently asked why anyone would need > to spend time working on new development instead of starting > from an open source base. My point was that in most cases the decision to start from scratch does not come because of a need for a truely new program, it comes because the programs that could be extended to meet the requirement are proprietry. > >>> Fair enough. Programmers of proprietry code have little to motivate > >>> them, they spend most of their time immitating features present in > >>> other proprietry software. It's all such a waste of time. > >> > >> The brush of the stereotype is broad and all-encompassing in > >> this one, Luke. Your comments may apply to some, or even many > >> such people, but it is not universally true. If all commercial > >> software derivative, we would be in the dark ages, as we'd still > >> be running line editors and operating systems with no vm > >> support, as two minor examples. It is not all a waste of time, > >> and much of it has /nothing/ to do with imitating existing > >> software. > >> > >> Much of open source development, /does/ have a lot to do with > >> imitating features present in proprietary software. Open > >> Office, Thunderbird, Firefox, etc. This is mostly true of work > >> on either the open or proprietary side when the project is one > >> that fits strongly into an existing 'application category'. > > > > The difference between the two is that if a new feature is added to an > > open source project it can often be directly copied. > > Which may be nice for you, if available, if it fits your model > precisely, and if you are happy with the implementation details, > rather than the on-screen results. More often than not, the > 'feature' is a good idea, and the implementation is crap, in > which case the source of little or no value, perhaps even a > negative value, in the sense that you may waste time looking at > it, when you would have been better off starting from scratch > with only a description of the feature. Yep, that can happen, or it can be inextricably tied up with the programs internals, or it can be in the wrong language. It's still better than nothing. > > If it's in a > > proprierty program then all the competitor programs have to separately > > rewrite the same feature. > > True. And if there is a bug in the original, then there is much > less chance of that bug appearing in all such programs, instead > of only one. TANSTAAFL That's true, but each individual version will undergo less overall use than the single common version. The single common version will be tested by a wider variety of problems. > >> Try > >> making the same argument about device drivers, or vertical apps. > >> It just doesn't hold up in the general case. > > > > I don't know what you mean by "vertical apps", > > Software designed to meet the requirements of a single, or very > narrowly defined market. for example, and application meant to > manage the affairs of a psychic palm reader, or a veterinarian's > office, instead of a word processor for anyone to use. In > short, something for which there may be zero prior art, and > nothing to copy from, of either commercial or open source form. I see. > > I think it applies to device drivers. > > How so? If I had source code for a driver for some other > vendor's hardware, implemented completely differently than my > own, I fail to see how it would be of much value to me. In general that can be true, but it's surprising how similar Linux device drivers actually are. Device drivers can easily be based off each other. > >> You have obviously never shared an office with a "Certified > >> Ergonomist". > > > > No, but I've suffered at the hands of mechanical ID designers before, a > > similar species I suspect. > > Then you should know better. :-) > > >> Fred should not be forced to give away his copyright on > >> something just because Mary doesn't like how his product is > >> packaged or the terms of the copyright. There are other people > >> that Fred can do business with (or give source to if chooses, > >> under whatever agreement /he/ chooses). > > > > It's people's own lookout if they accept stupid license terms. > > Yeah, I said almost the same thing a few zillion posts earlier > in this thread. My point was, it's all of our lookout if we decide to allow the law to help them. > > Enforcing them with copyright is a different matter. > > You can not have a 'license' without some way to enforce it, > otherwise it would be totally meaningless. I am getting the > impression that you think that would be the ideal result, but > sadly for some, the bulk of society does not agree with it. Doesn't it? I haven't asked the bulk of society what it thinks about copyright law applied to software. > > In many cases you can get a long way by modifying the code of others, > > but not in every case I agree. > > In many cases you can get a long farther in the same time period > by starting from scratch, or building upon your own code from > previous projects, and not wasting time chasing what is, far too > often, crappy code, yet somehow magical solely because it is > 'free'. Whippee. It can be a waste of time I agree, so can looking at other artists paintings for inspiration for your own. It's better than not been able to though. > >> If he gives it away, without restriction, yes. If tells you > >> that you can have all his research notes and experimental data > >> if you agree to pay him 5% of whatever benefits you obtain from > >> it, then you agree, negotiate him down, or look elsewhere. > > > > Thankfully, scientists don't behave like that, it's a pity software > > engineers do. > > That's exactly what happens when one pharmaceutical company > licenses another to produce some drug that they invented. > Pretending like it doesn't happen isn't very useful. Scientists in general don't. I'm not sure if I'd count the pharma industry as science. I'd point out that while a drug can be patented how it works can't be. The pharma industry is hardly a great role model for any industry though IMO. > > What I'm saying is that when code is distributed it should be > > distributed with source code. > > I think that when I go to the bank, the bank should distribute > somebody else's money into my wallet. That doesn't mean that it > immoral for them not to do it. Again, if the program you want > to use doesn't come with source code, you have choices. > > 1) Give in, and take it anyway. > 2) Use some other piece of software, even though it isn't your > favorite, that does have source. > 3) Write your own. > 4) Hire someone to write it that is willing to also give you the > source. Thank you, I will pick 2, 3 or 4. > I don't know about you, I kind of like having choices, > particularly when me getting those choices doesn't mean someone > else's choices are taken away unfairly. I also like having choices. But I am not pleased with peoples choices been unfairly restricted by application of copyright in this way. > >>> They use it to break into new markets and extend their dominance. > > >> Which is exactly what all pubic companies are expected to do by > >> their stockholders. In fact, every company that intends to make > >> a profit, regardless of how it is structured, has that goal. > > > Yes. But this is to the detriment of many consumers. > > Corporate officers do not operate to benefit consumers, unless > they can do it while benefitting the stockholders. It's pretty > naive to expect anything else, apart from by accident. If you > want them to behave like non-profit charities, you will be > sorely disappointed. That is obvious. My point original was that in many fields competition acts to the benefit of consumers, but not often in software. One reason is that it suffers from monopolies, and probably always will if it continues to work in the same way. .