Subj : Re: GNU Public Licences Revisited (again) To : comp.programming From : Rob Thorpe Date : Sat Sep 03 2005 02:07 pm Randy Howard wrote: > 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. It's a minor distinction, since the running software comes from the dormant sequence of bits. > >> 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* To some extent it can be done, however compilers make all kinds of transformations these days that make it difficult. > >>> 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. 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. > >> 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? No, I agree with the spirit of the GPL. It does fairly much what I mention above. > 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. True. > >> 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). 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 (!) > >> 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. What I meant was it will be understandable to someone working in the field of the Riemann hypothesis, which is hopefully the purpose of the book. > > 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. :-) Ever read "Atlanta nights"? :) > > 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. I count it as pretty uncivil when the author doesn't want to reveal it. The author of fiction reveals the fiction, the inventor reveals his invention. > >> 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. 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. What I meant by "if they pay people" is: if they act properly and allow the original inventors to patent the invention. > >> 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, 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. > 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. This is not the right way to go about inventing of-course. > > 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. Wow, you must be a lot richer than me. > 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. > Companies or VC's will fund 50 a day, and be happy if a fraction > of them pan out. Well, even they have their limits. > >> 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. 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. How did you learn how to structure large programs? I expect you did it by looking at the large programs you had to maintain. People still do this too, on the occasions when totally new software is needed. > >> 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'. The difference between the two is that if a new feature is added to an open source project it can often be directly copied. If it's in a proprierty program then all the competitor programs have to separately rewrite the same feature. > 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", I think it applies to device drivers. > >> 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. :-) Thanks, I'll cite you. > > 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. I think thats true, but they're still accumulative. Like science ideas that were imperfect are replaced over time with better ones. > > 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". No, but I've suffered at the hands of mechanical ID designers before, a similar species I suspect. > > 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. Yes, but this happens in science too. Also, often when things are "burned down" or "built again" they actually end up borrowing a lot from what was built before. > This is /especially/ true in the > open source community, which quite often suffers heavily from > the 'too many cooks' problem. Yes, unfortunately. > >> 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. Thanks, I will. > 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. Enforcing them with copyright is a different matter. > 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. Yes, I know all projects are not trivial. > > 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. In many cases you can get a long way by modifying the code of others, but not in every case I agree. > 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. No, thankfully they aren't. > >> *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. Thankfully, scientists don't behave like that, it's a pity software engineers do. > >>> 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 done a little of both. I have some really nasty code hanging around that works only because modern hardware is so powerful. I also have some really elegant code that similarly only works because modern hardware is powerful, otherwise it would be full of speed hacks. > > 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. I know, I have. > 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. Exactly. > >> 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. What I'm saying is that when code is distributed it should be distributed with source code. > >>>> 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. We'll see what happens. > >>> There is no point in those companies that have an effective monopoly, > >>> like microsoft, from trying to build better products, it's just a was= te > >>> 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. Ah, yes, that one irritates me too, especially "CreateFont" which is very useful. > 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. Yes. But this is to the detriment of many consumers. Since they have a monopoly in some areas of software they don't have to try hard in those areas. .