LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - General (https://www.linuxquestions.org/questions/linux-general-1/)
-   -   The legality of rewriting proprietary code (https://www.linuxquestions.org/questions/linux-general-1/the-legality-of-rewriting-proprietary-code-846978/)

MALDATA 11-28-2010 01:00 AM

The legality of rewriting proprietary code
 
I frequently use GNU Octave in lieu of MATLAB. In most cases it gets the job done just fine, but there are the occasional missing functions.

Some of MATLAB's code can easily be viewed by simply finding the appropriate m-file in the MATLAB directory. I could easily take some of that code and more-or-less paste it into Octave's source, but obviously that's not right. If I rewrote it from scratch, that would be fine, but since I've already seen the code, I am obviously going to tend toward the same algorithms and conventions.

This can't be the first time this has come up. How is it usually handled? If proprietary code can easily be viewed and edited, how can it ever become part of an open-source package? Any similarity would be cause for suspicion.

Thoughts?

macemoneta 11-28-2010 02:57 AM

See: Clean room design. This is how software is functionally replicated in a completely legal manner.

MALDATA 11-28-2010 03:24 PM

Unless I misunderstand what I read in that article, basically this means that the only way to add that code to Octave is to make sure that whoever writes it never sees the original MATLAB script.

In other words, since I've already seen their script, I'm "contaminated by knowledge of the proprietary techniques," so I can't do it myself.

What's odd is that there's an open-source package that uses this particular script more-or-less unchanged. It even has the Mathworks copyright notice in it.

Dark_Helmet 11-28-2010 10:56 PM

Quote:

Originally Posted by MALDATA
Some of MATLAB's code can easily be viewed by simply finding the appropriate m-file in the MATLAB directory. I could easily take some of that code and more-or-less paste it into Octave's source, but obviously that's not right. If I rewrote it from scratch, that would be fine, but since I've already seen the code, I am obviously going to tend toward the same algorithms and conventions.

Just because something is easily accessible doesn't mean it's entitled to less protection. For instance, if you leave the front door to your house unlocked doesn't mean an intruder shouldn't be punished for trespassing.

Quote:

Originally Posted by MALDATA
Unless I misunderstand what I read in that article, basically this means that the only way to add that code to Octave is to make sure that whoever writes it never sees the original MATLAB script.

In other words, since I've already seen their script, I'm "contaminated by knowledge of the proprietary techniques," so I can't do it myself.

Essentially, yes. In addition, having seen and been exposed to the code, you should not advise, comment on, or direct any individual's efforts to implement the code either. If you did write the new code or instructed someone else how to write it, then it would easily be argued that the new code is a derivative work of the old.

Quote:

Originally Posted by MALDATA
What's odd is that there's an open-source package that uses this particular script more-or-less unchanged. It even has the Mathworks copyright notice in it.

There's an easy explanation: permission. The open-source package maintainers may have requested and received permission from MATLAB to include the script. Getting permission to include code usually requires inclusion of the copyright notice to specify which portion of code is covered by copyright A versus other code protected by copyright B.

Alternatively, they could be approaching this as a "quote" from an original source. If they attribute the code to the original source, then they make no claims as to original authorship. Given that MATLAB, as a whole, is significantly larger than a single script, it could be likened to quoting a paragraph from a novel for a book report. That's not exactly analogous here, but you get the idea.

Certainly, don't rely on LinuxQuestions for legal expertise. You should talk to an attorney if you're thinking of doing something that you can't afford to be on the "losing side" of.

MALDATA 11-29-2010 10:21 AM

Quote:

Certainly, don't rely on LinuxQuestions for legal expertise. You should talk to an attorney if you're thinking of doing something that you can't afford to be on the "losing side" of.
I can't afford to lose, and I can't afford to talk to an attorney, either...

My lab has a valid MATLAB license, I just prefer to use Octave when I can. So, I rewrote the code for my own use, and just figured that if it wouldn't be a huge headache, I'd add it to the Octave repo. But it sounds like there would be all manner of trouble with that, since I used the same references for my code as the ones they cited in theirs.

Thanks for the help!

jefro 11-29-2010 04:00 PM

Why do you ask? You are stealing code and using it against the law.

MALDATA 11-29-2010 04:11 PM

I think you've wildly misinterpreted my question.

My question was about how visible functions in non-free software could ever be legally replicated and added to a GPL'ed project. I'm not real keen on being accused of "stealing code and using it against the law."

All I was asking was how the scripts could be referenced or rewritten without violating the copyright. Question answered. Sheesh.

impert 11-29-2010 04:28 PM

Quote:

You are stealing code and using it against the law.
How can this be true?
He is using the software that he has paid for. He is not (as far as we know) re-distributing it.

Does anyone seriously believe that all this soul-searching goes on on the other side of the fence?

jefro 11-29-2010 09:38 PM

Most software is protected not only in terms of how many copies you can have as well as how it's works are used directly or indirectly. I can legally copy a MS disk but that is for backup use not for use. I can have as a tech a second copy of some software and use it to test but when I am done I have to remove it.

Because you ask you have reason to believe copying is wrong.


As to the legal way to reverse engineer it may be up to some court. I know that method that has both failed in courts and passed.

I would contact the owner of the software in question and ask for legal use.

Not all companies are a bunch of crooks. I retired from a major computer maker. Patents and other intellectual property was very seriously treated as to source and legal status. Workers were warned that they may be libel for any losses from their actions.

impert 11-30-2010 07:57 AM

@jefro
Thanks for the reply.
In the real world, if I buy, say, a hammer, I am free to replace the handle, or shorten it, if a shorter handle suits me. I am not free to sell copies of it with the original maker's stamp or logo.
You are saying then that in the world of non-free software, I can't even shorten the handle to fit me.
Non-free indeed!
Quote:

Not all companies are a bunch of crooks
No doubt. But there appears to be a culture in some quarters that what is acceptable for "us" is whatever our lawyers think we can get away with, and what is acceptable for "them" is whatever we can't prevent them doing, by fair means or foul.

jefro 11-30-2010 03:55 PM

Some of my relative are lawyers. I know all too well both sides of the coin.

I can't say what you own or don't own.

Yes, you can replace the handle on the hammer. You do own it and by various court cases you can change it. It is a product and not software. Some products are protected though. In a similar deal you do not have to use Mercury outboard oil to insure warranty claims. But it took many years for that and a very expensive legal case.


If you are a company that uses software for a profit (not your own home use) you can usually not replace code from some application unless it is in the EULA. In recent years the software creators do not sell you the software. They sell you a rent agreement. You have no legal right to use it except in the terms of the agreement.


I'd still read the EULA and contact matlab for legal use of the code in question. It may be that they do not own the code but some other person or company does.


All times are GMT -5. The time now is 02:09 AM.