Subj : Re: GNU Public Licences Revisited (again) To : comp.programming From : Randy Howard Date : Tue Sep 06 2005 12:53 am 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. >> 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'. >> That is the reason for copyright, is it not? I doubt the author >> of a book thinks he is being uncivil by not allowing me to take >> his book, scan it in as a giant PDF file, and selling it on my >> website. >> >> I honestly do not see any difference between the two. > > In copyright of a book, and in patents and most other similar laws two > things happen:- > * Some person/organisation gets a temporary (or occasionally permanent) > monopoly on some trade. > * In exchange the person/organisation reveals the material, be it the > text of the book or the details of the invention. > > In my view distributing binaries does not count as revealing. >>> 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. >> 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'. The only definition that matters is his/her own, or one required by law. > 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. >> I haven't met many programmers that give up patent rights >> without getting payment of any kind. I won't say it's >> impossible, and there may be a few philanthropic 'patent-givers' >> running around, but if so, that's their right too. > > The problem is you often have to explain it to someone in order to get > it patented. That someone can then patent it themselves if they're > quick enough. I've never heard of this being a problem. Can you cite real-world examples, and that they appear in a large enough percentage of the whole to be of importance? >> 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 £10K 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. >> 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. :-) 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. 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. >> 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. >> 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. >>> 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. > 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. > 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. >>> 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. > 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 >> 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 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. >> 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. > 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. >>> Why did you spend 5 years writing it. >> >> First of all, it was a number I made up. Second, not all >> programming projects are trivial. Not seeing that explains why >> you might not respect the time and effort of the original >> author. > > Yes, I know all projects are not trivial. Then I do not understand the question above. > 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. >> 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. > 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. 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. >>> 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. -- Randy Howard (2reply remove FOOBAR) .