Slashdot Mirror


Legalities of Reimplementing Proprietary Languages?

Morgoth_Bauglir writes "I have written a syntax checker for a proprietary language that my company uses for our core business operations. I believe that my syntax checker can be extended to be a full-blown re-implementation of the language. This would be useful, because the gigantic company from which we license that language is continually "improving" it and then not supporting the older versions, which requires increasingly expensive upgrades. Increasingly expensive because the small company I work for has moved into direct competition with the software provider. There is the danger that the language will be priced out of our reach, requiring us to seek a different solution."

"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?"

9 of 18 comments (clear)

  1. You're asking for legal advice on Slashdot??? by unitron · · Score: 2

    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.

  2. In house issues. by Restil · · Score: 2

    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
  3. Build a translator instead. by Stavr0 · · Score: 2

    Free yourself of that language. Build a ' CodeX2C' translator. Keep the original language as comments. Doesn't have to be C, of course...
    ---

  4. Conversion vs Compilation by DaveHowe · · Score: 2

    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=-
  5. Not a copyright issue by eap · · Score: 2

    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.

  6. Here's an idea: by ajuda · · Score: 2

    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.

  7. They can't copyright ideas by satch89450 · · Score: 2

    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.

  8. Doesn't your company have a lawyer? by bluGill · · Score: 3

    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.

  9. Re:I would by grammar+nazi · · Score: 3
    Since my grammar skills are far superior to yours, might I suggest some different names.

    PEARL
    Pie-thon
    Rooby
    Pee-H-Pee
    Sea
    Se a++
    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 /. free of grammatical errors for ~5 years.