Subj : Re: GNU Public Licences Revisited (again) To : comp.programming From : Randy Howard Date : Wed Aug 31 2005 07:02 pm Rob Thorpe wrote (in article <1125493564.555874.276450@g49g2000cwa.googlegroups.com>): >>> A compiler is completely different to a hammer or saw, the hammer or >>> saw doesn't make the product almost incomprehensible, even to those >>> knowledgable in the subject. >> >> No, it is a tool that converts raw materials into a finished >> product. > > I didn't say it wasn't, I said it makes the work the programmer has > done incomprehensible. I see the final product as a running piece of software, not as a dormant sequence of bits in a file. >> I would also point out that there was a time when I could "read" >> PDP-11 binaries and disassemble them in my head to macro-11 >> syntax. About all I remember of that today is the opcodes for a >> few instructions and the main addressing modes. However, at the >> time, it was certainly doable, because I did it every day, all >> day long. It's been many a moon since I've seen a running >> PDP-11, or a binary for it, so I won't pretend to still have >> that ability. > > That's true, some old architectures and compilers (S/360 ?) were > understandable as machine code. It's not really true now though. 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* >>> What shouldn't apply is copyright, people should not be able to >>> arbitrarily protect with copyright what they distribute. >> >> But once they a buy a copy from this person, who they were just >> being so 'civilized' toward, they are free to make as many >> copies as they like and give them to all their friends? How >> civil. That doesn't seem to be very consistent with the above. > > Would it be more civil if the person who bought the software was > prevented from selling it or giving it to someone else? I don't think > so. 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. >> I'm not 100% sure I know whether or not you think it's okay for >> people to not release their source code, or it isn't ok. I'm >> not sure how it lines up with your comment about keeping secrets >> if they want to do so. > > Keep it secret is OK in my book. But once you distribute it those who > you distribute it to should have the same rights you had over it, that > is to see the source, distribute it and change it. Ahhhh. Lightbulb. You are opposed to the GPL and all of the abundant variants then? I can see disagreeing with it, since that is a matter of opinion, but it's really not unlike a contract between the original developers and those that download the source. Is the BSD license (which is almost completely benign) also a problem for you, or is that one acceptable? If it is, there is a lot of software available under it. The original coder(s) is/are basically saying "*IF* you want access to this source code, you will do it under these terms. If you don't like those terms, find some source code somewhere else, or write it yourself." It's sort of like me offering to sell you a house, but only if you promise to never paint it pink or park a Yugo in the driveway. It's a bizarre request, but if you agree to it, then you are bound by it. If you do not like restrictive open source licenses, then you are free to not participate or look at the code. >> BTW, copyright is not arbitrary, it's automatic. > > 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). >> For a real life example. pick up a copy of "Reimann's Zeta >> Function" by H.M. Edwards, and get a randomly selected math >> teacher to explain every page to you. Better yet, try and get >> them to explain pages 152 and 153 alone in a convincing manner. >> Yet, I see this text "Copyright (C) Harold M. Edwards" inside. > > These things aren't really relevant. The mathematics textbook will be > understandable to someone else working in that field. It is isn't then > it's useless. I doubt you've read it based upon your remarks about it. Riemann (typo above) is widely regarded as "heavy rowing", even by serious mathematicians. It's unlikely in the extreme that a randomly selected math teacher could make out the first chapter of Edwards exhaustive treatment of it any more convincingly than your mailman. > If people can write works of fiction that are gibberish and make money > out of them then good luck to them. Hollywood has made hideous amounts of money through similar tactics. :-) > Software is different in that it works by being run by a machine, so > even if it is incomprehendible it can still be useful. Exactly. 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. >> Except in the cases where those are one and the same. You're >> just annoyed that corporations have patent portfolios. > > Not really, if they pay people for their work then that's OK. 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. >> Individuals apply for and are granted >> patents all the time. > > You can only do that if you have enough money to patent the idea in > several juristictions, which means you have to be independently > wealthy, or have backing. 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, 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. > If you have backing you give away your idea > anyway. Practically speaking, you or I or any normal individual cannot > patent something and expect to make money from it. 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. 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. Companies or VC's will fund 50 a day, and be happy if a fraction of them pan out. >> The structure of a web browser is obvious to even relative >> novices to computer usage too. You don't need to examine object >> code to determine what software does. Running it is quite often >> sufficient. Again, I fail to see how this 'degree of >> difficulty' impinges on the ability to copyright something. > > Is it practical to design software by reverse engineering? No. But, it is practical to design software by actually doing your own design work. People USED to know this, before open source availability made everyone think they could be a 'designer' by being a good 'copier'. >> No, I was being flippant about whether or not programmers as a >> whole can be seriously described as having the sole intention of >> making something that works. Many of them don't appear to care >> if it works one way or the other, judging by the junk available >> on the market today. > > 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'. Try making the same argument about device drivers, or vertical apps. It just doesn't hold up in the general case. >> I'm pretty much at the opposite end of this from you. >> Programming isn't a science, it's much too lacking in concrete >> knowledge. Look at the dozens, if not hundreds of books on >> various aspects of it that start out "The Art of ... > geek words here". I can't recall anyone writing a book entitled >> "The Science of All Night Coding Sessions". Can you? > > Good idea though. Knock yourself out. :-) > I didn't mean the programming is a science, I meant that it's outputs > are very like the outputs of science. Again I must disagree. The outputs of most programs are indeterminate. Scientists tend to want to know what the results will be, particularly for something that is ready to go to market, rather than an experiment in a lab. There is far too much /wishing/ involved in apps being stable and well understood today. It's partly do to the complexity of running 400 programs on a computer instead of running one at a time. Even so, there is no feeling of confidence when you fire up a piece of software the first time, like there might be when you decide to solve a differential equation, knowing full well ahead of time that there is a right answer, and you are quite likely to find it. > Programs like scientific > conclusions (and unlike physical things) are easily copied. They are > not tied up in aesthetics like works of art. You have obviously never shared an office with a "Certified Ergonomist". > Lastly, the process of > programming is accumulative, as knowledge is accumulative. No, it's more like building part of a house, then deciding you don't like it, burning it down, and building it again. Or, having someone else come along and decide that the room should have been rectangular instead of square, and blowing up the foundation and repouring it. This is /especially/ true in the open source community, which quite often suffers heavily from the 'too many cooks' problem. >> Anyway, what you are really advocating is forced confiscation of >> someone else's source code against their will? > > Oh no, if you want to keep it, then keep it. But if you're going to > distribute it it isn't right that you're allowed to limit the rights of > those you distribute it to. Of /course/ it is. It's mine. If you don't like the terms, then you can look elsewhere, or (and he's a novel idea) solve your own problem. If you do like the terms, then enjoy it. If you don't want a copy under a restrictive source license/copyright, or if you are not willing to pay for software with no source at all available, then move on down the hall and find something you like 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). This is essentially an argument for minority rule. A few people think they should have unencumbered access to the work of others, they are heavily outnumbered, but by hook or by crook, they want it anyway. >> If I tell you, "hey, this is my code, >> I've been working on it for the last 5 years, and you can't have >> it", and you decide you are going to take it from me anyway, you >> better bring a weapon and hope you know how to use it better >> than I can use mine. That has nothing to do with copyright law, >> it's outright theft. > > 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. > If software were free you could > probably spend a couple of weeks modifying someone elses program to do > what you need. You are making a huge assumption, namely that there is something out there that does the majority of what you want already. You are also assuming that this existing program is implemented in a fashion that fits your needs without substantial rewrite, was designed properly, and doesn't have more bugs than it is worth to use as a starting point for your own. None of these are a given. For an extreme example, I'd love to see you write a fully functional clone of Windows 2003 Server in five weeks, starting with someone else's program. This 'hey, let's fork something and pretend we're programmers' thing is getting out of hand. GUI applications that look almost exactly like some existing product are not the be all and end all of software development. >> *sigh* There is no law that a 'scientist' has to release his >> work. He is free to set fire to it if he wants to. > > Yes, but if he does release it, then any other scientist can build on > it. 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. >>> This is why programming remains in the dark ages. >> >> That sounds so catchy, but it just isn't reality. Scientists >> have been studying chemistry for thousands of years. "Computer >> Science" has been around for a blink of an eye in comparison. I >> would expect it to be woefully incomplete at this point. It's >> rather staggering how far it has progressed in so brief a time. >> In another field, in this phase of infancy, they'd be burning >> you at the stake for something like thinking up quicksort >> instead of agreeing with the notion that bubblesort is nirvana >> about this far into the timeline. > > I think computer hardware has certainly gone a long way, which has > helped the software. I think it has had a detrimental effect, in that bigger, faster hardware has made programmers lazier than they might otherwise be naturally. People take a lot of development work far less seriously today than they used to as a result. The mentality that anything can be done in a few weeks by copying some existing piece of software certainly supports that. > It's not a complete disaster certainly, but a > great many people spend their lives solving solved problems. They have the option to choose another class of problems, or another line of work entirely. You or I are not responsible for other people wasting their lives, even if they do so because we made it hard on them to copy our work. I think that spending your life copying the work of others is a huge waste of a life itself. It might get a few products out the door faster, but when you are done, you've got precious little to show for it that you can be proud of in the end. >> And you can do the same thing to a program. "Analyze" does not >> mean "give me the formula for that snake oil, right now, it's my >> right to steal it from you so I can advance my own 'science'". >> You must be arguing for access to the source code, because you >> have already stipulated that you find object code to hard to >> read. > > Exactly, giving others access to the object code is not really helpful. But you also told me that it is the right of the developer to not give away the source if he doesn't want to. I guess you're just going to have to be happy not having what you want, or looking somewhere else for something to steal from in some cases. >>>> Strange, Office is going XML reportedly, despite still retaining >>>> copyright protection on their software. How can that be? >>> >>> They're not doing it in a way that's useful to anyone else. >> >> Explain. > > I think others have posted about this. None of which were any less devoid of content, unfortunately. Plenty of the "Microsoft is going to screw us" mentality, but that's not news. >>> There is no point in those companies that have an effective monopoly, >>> like microsoft, from trying to build better products, it's just a waste >>> of their money. >> >> M$ sure spends a lot of money on R&D for a company that sees no >> point in it. I wish they'd spend less, it would make it easier >> for some other companies to catch up with them. > > They don't apply it much though. Many of their products haven't > changed significantly in years. ???? One of my beefs with them was constantly jacking with things on the API side. How many times can they tack the letters on 'Ex' on the end of a function call before the point is made? GetSomeWindowsDataOfInterestExExExExExExEx(infinitely long list of parameters, most of which are void 99% of the time); Is just a tad silly. It's also not far from reality. I would suggest that the whole .Net framework is a huge change, and they invested in it heavily. It will probably continue to change rapidly for a while, until they abandon it for the next 'big thing', and the process will start again. > 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. -- Randy Howard (2reply remove FOOBAR) .