Legalities of Reimplementing Proprietary Languages?
"I built the syntax checker based on their language specification, I have not attempted to reverse engineer their interpreter (it's broken in a couple of ways anyway). I think there is a copyright on the language specification. Does this mean I cannot implement the language?
Would a re-creation of their language be legal? I haven't ever seen their source code, nor has anyone at my company. I do not intend to redistribute it, only use the interpreter in-house so we can continue to use our old programs without paying licenses. We had to write those programs, so to the best of my knowledge, we own them (but not the language they use?).
Or, would a re-implementation be, in effect, the same as making multiple unlicensed copies of their interpreter?
If I cannot implement the language without permission, does this also mean that I cannot create a converter to translate that language into a different one? Could such a converter be construed to be an implementation of the language?"
Seriously, though, do not do this without first consulting a lawyer who specializes in this area of the law. I guarantee that other company's first reaction will be to believe that you stole their work.
I see even classic Slashdot is now pretty much unusable on dial up anymore.
If you're using it only in house, nobody will ever be able to obtain a copy of it to determine that its infringing. Sure, the SBA might do a raid looking for pirated software, but its not pirated software, as you coded it yourself.
There may be other thorny legal issues that arise if you try to make that program publicly available, but so long as its only used in house, I can't see any indication of a problem.
-Restil
Play with my webcams and lights here
Free yourself of that language. Build a ' CodeX2C' translator. Keep the original language as comments. Doesn't have to be C, of course...
---
If I cannot implement the language without permission, does this also mean that I cannot create a converter to translate that language into a different one? Could such a converter be construed to be an implementation of the language?"
Offhand, I would say it didn't matter - provided your programming staff can take the converted code and work in the new language from the date you do the conversion, you can archive offline the converter and original code, then there is nothing still in use they can claim is infringing what rights they have. they obviously have no rights to *your* code, even if they have rights to the language it was originally written in.
Datastructures spring to mind though - if they have copyright on a particular data structure design, and you continue to use this design in the new code, you may be infringing...
--
-=DaveHowe=-
I am not a Lawyer.
Their copyright of the specs only affects your ability to reproduce/redistribute the specifications of the language. It does not affect your ability to use the specs to create your own implementation. That is fair use, and is legal. Note, this assumes you didn't sign any sort of Non disclosure agreement and you arent going to redistribute your work.
That leaves only two other possible areas of infringement: Patent infringement, and trademark infringement. Assuming they have not patented this language, you are OK there. I don't even know if it's possible to patent a language (given some other nutty patents I've seen, I'm sure it is), but as long as you didn't see their source code you'd still be in the clear probably.
The easiest way to get around trademark infringement is not to give your language the same name as their language. Call it something else. Back when the DOD trademarked the name "Ada", they wouldn't license the name to anyone who didn't produce a language on par with the government's Ada specs. However, this did not stop others from developing Ada-like implementations that went by another name. AFAIK, anyone can use the Ada name these days.
DISCLAIMER: I am NOT a lawyer, and I really have no basis for what I've just said, so you should NOT take my advice but instead consult a real lawyer before doing anything else.
Let's say that you are working with a standardized language called "SEE"... Make a couple changes to add incompatibilities, and reduce the executable speed then release it under the name "SEE #". Oh wait, I think that someone already did that...
This message was encrypted with rot-26 cryptography.
Disclaimer: I am not a lawyer, and this is not legal advice. Consult with an attorney for your specific situation.
If you are talking about implementing a compiler or interpreter for a language, any language, in which you (or your company) has created code, then you are free and clear, because copyright does not protect an idea, but the expression of an idea "fixed" in a medium.
Case in point: the type font industry used to have a big problem with piracy. They quickly learned that out-and-out copying (tracing a font, copying a digital representation of a font outline, and similar activity) was protected under copyright, but that a font designer re-creating the face other than by tracing was not a violation of copyright. The new face represented a distinctly different font.
The old Ashton-Tate company got a rude wake-up call when they stumbled on the fact that the dBASE language wasn't protected, but their interpreter and compiler were. (Clouding that issue is the fact that dBASE was based on a government developed language, but what the hell...)
That said, watch out that you don't use any of their code, such as libraries -- you would have to re-develop them yourself. You must make sure to use ONLY your code with your interpreter in order to avoid any potential problem with copyright.
There are also patent issues to worry about, but if the company hasn't declared any patents you are most likely safe from that little problem. Don't guess, though -- consult a good attorney.
While I belive you can do exactly what you want, ANAL. Every buisness should have a lawyer, even small buisnesses hire one from time to time. Have your boss get you in touch with your lawyers.
PEARLe a++
Pie-thon
Rooby
Pee-H-Pee
Sea
S
Fourtran or 4tran
lips (not a homonym)
Jaffa
I hope that this list helps. By the way, none of the languages that I spoofed have anyproblem with copyrights and making your own interpreter/compiler. As far as I'm concerned, you don't need any other languages besides the ones listed above. What language could you possibly be talking about? If it's some math analysis crap like MATLAB or Khoros, then you should be converting code to one of the languages that I listed before you package/distribute it. If your using some wierd thing like LabView, then just use Python (or Pie-thon). You'll thank me in the end.
I'm glad I could be of assistance. Have a nice day.
Keeping