"Tzu Chang said, 'What can be called the four vices?'
Confucius said, 'To put to death without teaching can be called cruelty. To judge results without prerequisites can be called tyranny. To impose deadlines on improper orders can be called thievery. As when giving in the procedure of receipt and disbursement, to stint can be called officious."
Sigh... More than 2000 years later people still don't have a clue...
You should read the patents before you post your "prior art". None of these would be prior art. The patents discuss an object management system. In the system are typed objects which are operated upon by "object managers". The objects are instantiated using the prototype pattern and are manipulated by use of the "object manager".
Frankly, I'm surprised that Sun lost this court case. Frankly, I can't quite see how Java infringes on these patents. CORBA looks much closer. Maybe they are really talking about Java Beans???
I'd like to see some technical commentary on this. Something doesn't smell right.
As a few people have pointed out, the author of the article seems to have overstepped his bounds a bit. He's not really qualified to render a legal opinion. To state that Mr. Connelly is definitely in the wrong is a potentially dangerous thing. Especially given that he seems to be lawsuit happy.
That aside, I find this disagreement somewhat interesting for a few points.
First, I wonder what is copyrightable when it comes to code. For instance, if I wrote a sentence in an article of a magazine and then rewrote the sentence verbatim in another magazine, I don't think anyone would ever be able to sue you for copyright infringement. It's just a sentence. In this case, the code in question is only 9 lines (the equivelent of a sentence in a large book). At what point does this become protectable?
Second, if I hire someone to modify a GPL piece of code, I don't have to redistribute it. However, is it possible to stop the original author from distributing it? I have often wondered this. I mean, I can't stop him from having a copy and seemingly I can't bar him from his rights to do what he wants with that copy. In a sense, I have already distributed it. I can see that if I write the code myself it's a much more straightforward question.
In any case, I don't think I'll get any definitive answers to these questions this time around. Without pretending to know all the legal ins and outs here, I suspect that the code was never copied in the first place. The fact that Mr. Connelly has never even looked makes it fairly unlikely that it will ever get to trial.
Yes and no (again, I am basing this on my understanding of the law which may be incorrect). If you are commisioned to do a work for hire, then generally the copyright is transferred with it. However, this is not the only circumstance in which creative work is done and money changes hands.
For instance, suppose you are Microsoft and someone phones you up and says, "I'll pay you $10,000 if you agree to fix bug X". You fix bug X and give that person a new version of the program. But you *don't* transfer the copyright of the bug fix to the customer.
Basically, what I'm saying is that if money changed hands in exchange for work, a contract was created (even if it was only verbal). The matter of copyright transfer is dependent upon the nature of the contractural agreement. It does not necessarily follow that since someone has paid money to see a feature implemented that they will acquire the copyright.
A very good example of this is the work that Cygnus Software did with GCC. Many of the changes they made were the result of (paid for) requests from customers. However, the copyright was not transferred.
IANAL, but this seems like a very simple dispute to settle.
Mr. Connolly's dispute is with Mr. Sakic. When you pay someone to do creative work for you, you do not necessarily transfer ownership of the copyright with it. First things first, Mr. Connolly must produce a contract that transfers the copyright to him. If he has no such contract, he has no case what-so-ever because he doesn't own the code.
Secondly, with such a contract, he must show that the code in Mambo actually infringes on his copyright. Without such proof, he has no case what-so-ever because there is no infringement.
Now, again IANAL, but if Mr. Connolly were to be able to prove both of these things, restitution must come from Mr. Sakic, not from some innocent bystander. The *users* of Mambo are *not* in violation of any copyright law. As an example, it is not infringement of copyright for me to listen to a copy of a song -- only to *copy* it.
The Mambo team *might* also be infringing since they distribute Mambo. However, I am willing to bet dollars to doughnuts that no court in the world would hear a case against Mambo without resolution of a case against Mr. Sakic. If Mr. Connolly makes no move to sue Mr. Sakic, I believe they are pretty much safe to ignore him (Note: this is not legal advice as I am in no way qualified to give advice).
Now, if Mr. Connolly instead argues that the code modification is a trade secret, then he also only has a case against Mr. Sakic. Once a trade secret has been released, it is no longer a trade secret. He may indeed have a case against Mr. Sakic in this area (though I highly doubt it), but no one else is at risk.
So in summary, Mr. Connolly should sue Mr. Sakic if he has a legitimate grievance. Until that issue is settled, he would be wise to keep his mouth shut.
In my personal opinion, if you hire a free software programmer to modify a GPL piece of software, it is *your* responsibility to explain *very clearly* that you do not want the changes distributed. Distribution of modified GPL code is the norm. If you do not explain this I think you will have a hard time convincing anyone that the programmer should have known better.
Before making comments like that, you might want to stop to think that many people can't read quickly. They may have a learning disability (dyslexia), or perhaps they just have poor vision. These people are perfectly literate and not blind, but they may not be able to keep up with a subtitled movie.
I mention this because my last GF had this problem and we avoided subtitled movies. I missed many good flicks this way. I would take bad dubbing over not seeing the movie any day. There are reasons that people complain.
BTW, now that I'm no longer with my ex, I prefer subtitled movies if I can find them. However, I sympathize with those that can't deal with them.
Man, this is sooo off topic, but I'm going to post anyway. If you are obese it's because you are eating more than you are buring. Anybody who tells you otherwise is trying to sell something.
Storing fat is *not* a bad thing. It's great if you go through times when food is not so available. Having fat on you is *not* unhealthy. Being obese *is* unhealthy.
But there's a really serious thing here: Eating a low carb diet *might* help you reduce your weight, but it won't make you healthy! Let me add a few more exclamation points to that !!!! Low carb diets don't make you healthy. Being in ketoses is *not* good for you!!!
People need to wake up and smell the beer (ob ontopic word). Diet is only *one* facet of a healthy lifestyle. The rest includes sleeping well, removing stress and getting an appropriate amount of exercise. If you don't adress *all* of those issues, you will probably be unhealthy.
Moving towards a healthly lifestyle is hard. It will probably involve a *lot* of head work as well as body work. But you *can* do it! Please, just stay *away* from those fad diets. They just make it more difficult to heal yourself.
It's hard to argue that those aren't good beers (although Harp and Killian's would hardly make it into my top 100). But are these really widely available? I'd kill to have some of the beers on those lists, but I'd have to go a *very* long way to get them I'm sure...
Others to try are Hacker-Pschorr and Bamberger. I would say the Hacker-Pschorr is my favorite, Bamberger a close second, Schieder-Weiss third. When I visited Germany 15 years ago I really liked the Loewenbraeu, but as the other respondant said it might not be that good if it's brewed in the US.
Just be aware that this beer will taste *different* than what you're used to. It's got a flavour of bananas and cloves (more of one or the other depending on brand). This flavour comes from the special yeast they use (wheat itself has a pretty neutral flavour).
If you really want to go whole hog, get your self some nice german bratwurst and saurkraut to go with the beer. This is a beer that screams to be paired with food.
Since the internet is used to transmit copyrighted information (heck, even this post is copyrighted under the Berne convention), reverse engineering such a system would be illegal under the DMCA.
I have been waiting for this for a while. "Security" measures in hardware on networking that is really used to lock out any new vendors.
I *have* seen them advertise for Linux driver developers in the recent past. They don't seem to have anything on their career list right now, but they do regularly look for people.
I think one of the problems may be that they want driver development to be done out of Toronto. That's going to limit your pool of talent.
I hope this question gets asked, because I see it as being a common misconception towards free software. I hope that RMS can put the matter to rest. However, I would like to comment on a part of your question.
You say: the person putting in that effort has little or no rights to the fruits of the effort or to expect any rewards at all for having put out that kind of energy.
One day I added up the money made in sales on software that I had written. In almost 10 years as a professional programmer, my contribution has generated more than $30 million US. I have been paid about $500,000 Cdn. All of my professional work has been proprietary software.
Where is the fruit of my labour? I'm not even allowed to look at the source code to the software I wrote (I've moved from company to company). I got paid what I thought was a fair wage (although it might seem a bit low to some people), but I had no rights to my work at all. According to the papers I've signed at these companies, even the ideas developed in my own time belong to someone else.
Free software that I have written has helped people. It even enabled one person to create a business. I got no money for my work. But I was free. No-one owned me, my ideas or my code.
I may earn my living from free software someday. In the past, this would have meant striking out on my own. I had neither the experience nor the desire to start my own consulting company. However, things are changing and I may just get the opportunity to work free from the oppression of proprietary attitudes.
Remember: the free software movement is not driven by customers looking for a free lunch. It is driven by programmers who are sick of their creations being treated as other people's property.
I'm not sure if I understand you correctly, but it seems you are asking if you can protect the API to a library. The answer is no. You can make it so that no unGPLed code can link with your library. You can make it so that no unGPLed code physically uses your header files. But you can't prevent anyone else from re-implementing something that uses the same API as you.
However, this is the whole point of open standards and free software. Create a standard interface and *encourage* people to follow it. Some people may develop proprietary code based on it. But so what? You control the standard and your code is free. The customer has choice and that's all we care about. If you want to make sure that people don't make money off your API, just make sure that your code is better than the proprietary stuff.
This is the way of free software. Many windows programmers have not yet made the context switch from proprietary software (be it shareware or big buisiness). Give them some time.
If that doesn't work, politely explain the alternatives (either a confusing API that no-one wants to use, or a secret API that no-one can use).
I don't want to sound overly harsh, but this comment is classic in many ways. It is exceptionally common and exceptionally wrong. The premise is, "I live in a disfunctional family. No-one knows how to communicate. Therefore, communication is an utterly useless skill". Communication is not useless, it is merely useless in this particular environment. If you fix the environment, you find that the previously useless skills become your best assets.
If you are working in an environment where you are always rushing, where computing theory has no place because there is no time to think, then you are working in a disfunctional system.
I believe that this type of environment is common in the industry for 4 reasons.
1. Get rich quick syndrome. Venture capitalists want to see a 20 to 1 return on investment on high tech firms. Breaking even is seen as a failure. The goal is to find a rapidly growing niche market and to dominate it. Quality products are secondary to market penetration. Features are everything (sell the sizzle, not the steak).
2. First to the market wins syndrome. For some reason being first to the market is seen as essential to obtaining market dominance. It is irrelevant that there are virtually no software products where the first to the market maintains dominance for the long term (I dare anyone to give me an example -- I can't think of any). Time to market is seen as more important than quality.
3. Like rewards like. If you work on a project, deliver tons on functionality and get it out the door really fast, you will be promoted. In fact, most people are promoted well before anyone realizes that their code was complete crap. In some cases, they may even get promoted before the product ships. These people maintain and extend the disfunctional environment (they promote the environment that made them successful).
4. A legacy of ignorance. People are not taught any better. How many people got out of school looking forward to the day when they finally get to work with fantastic people in industry. How many people fantasized about how much they would learn from software gurus that they would meet in their career. How many people were crushed when they got out of school and found semi-literate neandrethals (sp?) hacking away in the most bizarre ways. How many were disappointed to find that even if you could find one or two guys that knew what they were doing, that they couldn't (or wouldn't) teach anything to you. In a world where the experienced can't teach the newbies, everyone has to learn from first principles. You can't build on the experience of others. Only the very best people become at all competant. The vast majority struggle in valiant ineptitude.
Confusious said that if society is corrupt, then your must remove yourself from society. This is perhaps a bit extreme. However, you *can* change the world one step at a time. Think globally, act locally. Grab a new person out of school and become their mentor. Teach them what you know. Take responsibility for your own code. Struggle with all your might to add a small bit of quality to *your* code. Advertise your success. Dare others to match it. Propose a project to your management where you take a commonly used product and enhance it (you'd think that we would eventually learn from East-Asian culture...).
OK.... Enough ranting..... Maybe I should write a book:-)
When I worked at a certain telecommunications company, we always joked about this. Bellcore specified that you needed a 30 day turnaround time for 70% of the bugs that were reported by customers. The only way we could reach this target was by introducing bugs with known solutions. That way it would only take 21 days to fix it (14 days to get to the right department and 7 days to verify the bug fix).
"Tzu Chang said, 'What can be called the four vices?'
Confucius said, 'To put to death without teaching can be called cruelty. To judge results without prerequisites can be called tyranny. To impose deadlines on improper orders can be called thievery. As when giving in the procedure of receipt and disbursement, to stint can be called officious."
Sigh... More than 2000 years later people still don't have a clue...
If it was funded by the government it would be exactly like the CBC.
Where is my quality Canadian programming?????
You should read the patents before you post your "prior art". None of these would be prior art. The patents discuss an object management system. In the system are typed objects which are operated upon by "object managers". The objects are instantiated using the prototype pattern and are manipulated by use of the "object manager".
Frankly, I'm surprised that Sun lost this court case. Frankly, I can't quite see how Java infringes on these patents. CORBA looks much closer. Maybe they are really talking about Java Beans???
I'd like to see some technical commentary on this. Something doesn't smell right.
As a few people have pointed out, the author of the article seems to have overstepped his bounds a bit. He's not really qualified to render a legal opinion. To state that Mr. Connelly is definitely in the wrong is a potentially dangerous thing. Especially given that he seems to be lawsuit happy.
That aside, I find this disagreement somewhat interesting for a few points.
First, I wonder what is copyrightable when it comes to code. For instance, if I wrote a sentence in an article of a magazine and then rewrote the sentence verbatim in another magazine, I don't think anyone would ever be able to sue you for copyright infringement. It's just a sentence. In this case, the code in question is only 9 lines (the equivelent of a sentence in a large book). At what point does this become protectable?
Second, if I hire someone to modify a GPL piece of code, I don't have to redistribute it. However, is it possible to stop the original author from distributing it? I have often wondered this. I mean, I can't stop him from having a copy and seemingly I can't bar him from his rights to do what he wants with that copy. In a sense, I have already distributed it. I can see that if I write the code myself it's a much more straightforward question.
In any case, I don't think I'll get any definitive answers to these questions this time around. Without pretending to know all the legal ins and outs here, I suspect that the code was never copied in the first place. The fact that Mr. Connelly has never even looked makes it fairly unlikely that it will ever get to trial.
No thanks. I downloaded some and decided it wasn't worth the price.
Thanks anyway!
Yes and no (again, I am basing this on my understanding of the law which may be incorrect). If you are commisioned to do a work for hire, then generally the copyright is transferred with it. However, this is not the only circumstance in which creative work is done and money changes hands.
For instance, suppose you are Microsoft and someone phones you up and says, "I'll pay you $10,000 if you agree to fix bug X". You fix bug X and give that person a new version of the program. But you *don't* transfer the copyright of the bug fix to the customer.
Basically, what I'm saying is that if money changed hands in exchange for work, a contract was created (even if it was only verbal). The matter of copyright transfer is dependent upon the nature of the contractural agreement. It does not necessarily follow that since someone has paid money to see a feature implemented that they will acquire the copyright.
A very good example of this is the work that Cygnus Software did with GCC. Many of the changes they made were the result of (paid for) requests from customers. However, the copyright was not transferred.
IANAL, but this seems like a very simple dispute to settle.
Mr. Connolly's dispute is with Mr. Sakic. When you pay someone to do creative work for you, you do not necessarily transfer ownership of the copyright with it. First things first, Mr. Connolly must produce a contract that transfers the copyright to him. If he has no such contract, he has no case what-so-ever because he doesn't own the code.
Secondly, with such a contract, he must show that the code in Mambo actually infringes on his copyright. Without such proof, he has no case what-so-ever because there is no infringement.
Now, again IANAL, but if Mr. Connolly were to be able to prove both of these things, restitution must come from Mr. Sakic, not from some innocent bystander. The *users* of Mambo are *not* in violation of any copyright law. As an example, it is not infringement of copyright for me to listen to a copy of a song -- only to *copy* it.
The Mambo team *might* also be infringing since they distribute Mambo. However, I am willing to bet dollars to doughnuts that no court in the world would hear a case against Mambo without resolution of a case against Mr. Sakic. If Mr. Connolly makes no move to sue Mr. Sakic, I believe they are pretty much safe to ignore him (Note: this is not legal advice as I am in no way qualified to give advice).
Now, if Mr. Connolly instead argues that the code modification is a trade secret, then he also only has a case against Mr. Sakic. Once a trade secret has been released, it is no longer a trade secret. He may indeed have a case against Mr. Sakic in this area (though I highly doubt it), but no one else is at risk.
So in summary, Mr. Connolly should sue Mr. Sakic if he has a legitimate grievance. Until that issue is settled, he would be wise to keep his mouth shut.
In my personal opinion, if you hire a free software programmer to modify a GPL piece of software, it is *your* responsibility to explain *very clearly* that you do not want the changes distributed. Distribution of modified GPL code is the norm. If you do not explain this I think you will have a hard time convincing anyone that the programmer should have known better.
Before making comments like that, you might want to stop to think that many people can't read quickly. They may have a learning disability (dyslexia), or perhaps they just have poor vision. These people are perfectly literate and not blind, but they may not be able to keep up with a subtitled movie.
I mention this because my last GF had this problem and we avoided subtitled movies. I missed many good flicks this way. I would take bad dubbing over not seeing the movie any day. There are reasons that people complain.
BTW, now that I'm no longer with my ex, I prefer subtitled movies if I can find them. However, I sympathize with those that can't deal with them.
Man, this is sooo off topic, but I'm going to post anyway. If you are obese it's because you are eating more than you are buring. Anybody who tells you otherwise is trying to sell something.
Storing fat is *not* a bad thing. It's great if you go through times when food is not so available. Having fat on you is *not* unhealthy. Being obese *is* unhealthy.
But there's a really serious thing here: Eating a low carb diet *might* help you reduce your weight, but it won't make you healthy! Let me add a few more exclamation points to that !!!! Low carb diets don't make you healthy. Being in ketoses is *not* good for you!!!
People need to wake up and smell the beer (ob ontopic word). Diet is only *one* facet of a healthy lifestyle. The rest includes sleeping well, removing stress and getting an appropriate amount of exercise. If you don't adress *all* of those issues, you will probably be unhealthy.
Moving towards a healthly lifestyle is hard. It will probably involve a *lot* of head work as well as body work. But you *can* do it! Please, just stay *away* from those fad diets. They just make it more difficult to heal yourself.
OK, I feel better now...
It's hard to argue that those aren't good beers (although Harp and Killian's would hardly make it into my top 100). But are these really widely available? I'd kill to have some of the beers on those lists, but I'd have to go a *very* long way to get them I'm sure...
Others to try are Hacker-Pschorr and Bamberger. I would say the Hacker-Pschorr is my favorite, Bamberger a close second, Schieder-Weiss third. When I visited Germany 15 years ago I really liked the Loewenbraeu, but as the other respondant said it might not be that good if it's brewed in the US.
Just be aware that this beer will taste *different* than what you're used to. It's got a flavour of bananas and cloves (more of one or the other depending on brand). This flavour comes from the special yeast they use (wheat itself has a pretty neutral flavour).
If you really want to go whole hog, get your self some nice german bratwurst and saurkraut to go with the beer. This is a beer that screams to be paired with food.
Since the internet is used to transmit copyrighted information (heck, even this post is copyrighted under the Berne convention), reverse engineering such a system would be illegal under the DMCA.
I have been waiting for this for a while. "Security" measures in hardware on networking that is really used to lock out any new vendors.
I *have* seen them advertise for Linux driver developers in the recent past. They don't seem to have anything on their career list right now, but they do regularly look for people.
I think one of the problems may be that they want driver development to be done out of Toronto. That's going to limit your pool of talent.
I hope this question gets asked, because I see it as being a common misconception towards free software. I hope that RMS can put the matter to rest. However, I would like to comment on a part of your question.
You say:
the person putting in that effort has little or no rights to the fruits of the effort or to expect any rewards at all for having put out that kind of energy.
One day I added up the money made in sales on software that I had written. In almost 10 years as a professional programmer, my contribution has generated more than $30 million US. I have been paid about $500,000 Cdn. All of my professional work has been proprietary software.
Where is the fruit of my labour? I'm not even allowed to look at the source code to the software I wrote (I've moved from company to company). I got paid what I thought was a fair wage (although it might seem a bit low to some people), but I had no rights to my work at all. According to the papers I've signed at these companies, even the ideas developed in my own time belong to someone else.
Free software that I have written has helped people. It even enabled one person to create a business. I got no money for my work. But I was free. No-one owned me, my ideas or my code.
I may earn my living from free software someday. In the past, this would have meant striking out on my own. I had neither the experience nor the desire to start my own consulting company. However, things are changing and I may just get the opportunity to work free from the oppression of proprietary attitudes.
Remember: the free software movement is not driven by customers looking for a free lunch. It is driven by programmers who are sick of their creations being treated as other people's property.
I'm not sure if I understand you correctly, but it seems you are asking if you can protect the API to a library. The answer is no. You can make it so that no unGPLed code can link with your library. You can make it so that no unGPLed code physically uses your header files. But you can't prevent anyone else from re-implementing something that uses the same API as you.
However, this is the whole point of open standards and free software. Create a standard interface and *encourage* people to follow it. Some people may develop proprietary code based on it. But so what? You control the standard and your code is free. The customer has choice and that's all we care about. If you want to make sure that people don't make money off your API, just make sure that your code is better than the proprietary stuff.
This is the way of free software. Many windows programmers have not yet made the context switch from proprietary software (be it shareware or big buisiness). Give them some time.
If that doesn't work, politely explain the alternatives (either a confusing API that no-one
wants to use, or a secret API that no-one can use).
I don't want to sound overly harsh, but this comment is classic in many ways. It is exceptionally common and exceptionally wrong. The premise is, "I live in a disfunctional family. No-one knows how to communicate. Therefore, communication is an utterly useless skill". Communication is not useless, it is merely useless in this particular environment. If you fix the environment, you find that the previously useless skills become your best assets.
:-)
If you are working in an environment where you are always rushing, where computing theory has no place because there is no time to think, then you are working in a disfunctional system.
I believe that this type of environment is common in the industry for 4 reasons.
1. Get rich quick syndrome. Venture capitalists want to see a 20 to 1 return on investment on high tech firms. Breaking even is seen as a failure. The goal is to find a rapidly growing niche market and to dominate it. Quality products are secondary to market penetration. Features are everything (sell the sizzle, not the steak).
2. First to the market wins syndrome. For some reason being first to the market is seen as essential to obtaining market dominance. It is irrelevant that there are virtually no software products where the first to the market maintains dominance for the long term (I dare anyone to give me an example -- I can't think of any). Time to market is seen as more important than quality.
3. Like rewards like. If you work on a project, deliver tons on functionality and get it out the door really fast, you will be promoted. In fact, most people are promoted well before anyone realizes that their code was complete crap. In some cases, they may even get promoted before the product ships. These people maintain and extend the disfunctional environment (they promote the environment that made them successful).
4. A legacy of ignorance. People are not taught any better. How many people got out of school looking forward to the day when they finally get to work with fantastic people in industry. How many people fantasized about how much they would learn from software gurus that they would meet in their career. How many people were crushed when they got out of school and found semi-literate neandrethals (sp?) hacking away in the most bizarre ways. How many were disappointed to find that even if you could find one or two guys that knew what they were doing, that they couldn't (or wouldn't) teach anything to you. In a world where the experienced can't teach the newbies, everyone has to learn from first principles. You can't build on the experience of others. Only the very best people become at all competant. The vast majority struggle in valiant ineptitude.
Confusious said that if society is corrupt, then your must remove yourself from society. This is perhaps a bit extreme. However, you *can* change the world one step at a time. Think globally, act locally. Grab a new person out of school and become their mentor. Teach them what you know. Take responsibility for your own code. Struggle with all your might to add a small bit of quality to *your* code. Advertise your success. Dare others to match it. Propose a project to your management where you take a commonly used product and enhance it (you'd think that we would eventually learn from East-Asian culture...).
OK.... Enough ranting..... Maybe I should write a book
When I worked at a certain telecommunications company, we always joked about this. Bellcore specified that you needed a 30 day turnaround time for 70% of the bugs that were reported by customers. The only way we could reach this target was by introducing bugs with known solutions. That way it would only take 21 days to fix it (14 days to get to the right department and 7 days to verify the bug fix).