Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
News

Legalities of Reimplementing Proprietary Languages? 18

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

This discussion has been archived. No new comments can be posted.

Legalities of Reimplementing Proprietary Languages?

Comments Filter:
  • Languages I have found useful not on your list include Mathematica (obviously for internal use only), Mercury, assembler ... and there are doubtless many many others.

    The list of useful languages is as open-ended as the list of possible tasks.

    Roy Ward.
  • Is it just me, or are a lot of the Ask Slashdot questions lately from people looking for free legal advice?

    If you're in a position where you need legal advice, get it from a lawyer. If the question was along the lines of "I'm having problem X in technology area Y and I'm located in jurisdiction Z, can you reccommend a good lawyer to help with this?" then the answers would be useful. As it is, they are a lot like a teenager asking their friends about contraception: the most common answers are along the lines of "You don't get pregnant if you do it standing up"!!!

    So lets see an end to these kinds of questions, and a return to questions that actually have a chance of eliciting useful answers.
  • Oh, doubtless it's some big db application language that is so deeply ingrained they can't get it out of there.

  • IANAL etc. but wouldn't this be classed as reverse engineering if you didn't use any of this other company's code? Come on, I'm curious now - what language is it? Java? VB? Progress? I guess bottom line is for your company to see a lawyer.
  • ....the makers of Cobol....
    It was originally developed by (amongst others) Grace Hopper [cobolwebler.com] under the auspices of the U.S. Department of Defense in cooperation with computer manufactures, users and universities. It's now an American National Standards language now, just like FORTRAN. The original COBOL was based on a language called FLOWMATIC, and there should be a reference to the Sperry Corportaion (the company who developed it) at the front of your COBOL manual.

    Also have a look at this Google search [google.com].

    All software is flawed. All hardware is flawed. If you haven't learned that yet,

  • First off, I am a lawyer...buwahahahaha! Only kidding - IANAL - I ain't no arsehole lawyer. After all, I read Slashdot, don't I?

    But I do have some comments to make.
    You say, that the software is "..increasingly expensive because the small company I work for has moved into direct competition with the software provider..."
    If that's so, I've got to say what country are you in? There are a spate of laws here in Europe at least that are supposed to protect your company against that sort of thing. Secondly, you're right to get out from under the thumb of a competing company - it would be a bad move to try and keep things as they are.
    Thirdly, as far as I know, there should be no legal ramifications of a re-implementation of the sort I think you mean. At the very least, it's something that hasn't been frowned upon in the past in the programming community. As all the other posts have said, however, a few trips to a lawyer would sort this out. Mind you even if the lawyer says it is illegal, you've got to consider if all this lawyer has done is gone to software provider and directly asked them, rather than pulling on a pool of knowledge about your national/local law, then his opinion can equally be discounted.
    In short, if precident is anything to go by, there should be no problems. Probably.

    8)
  • "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."

    If it is possible to patent a language or a language feature, the fact that you didn't see their source code is not going to keep you from being an infringer if you re-implement the language. Unlike copyright protection, you infringe a patent even if you reimplement the feature from scratch.

    It's highly unlikely that the language is protected by a patent. I'll bet that the language uses pretty much the same kind of control constructs, statements, etc that were used back in the 70s and 80s.

    Michaelangelo
  • Why not just change a few things, like renaming instructions (find & replace) and just doing any little thing to break compatibility with Company X's language, but in a way that allows you to convert the old language to your own very trivially. They couldn't say you copied their language since their own code won't compile on your rig. Of course IANAL but if this is false, then I don't see why the makers of Cobol (ack!) don't just sue everyone for writing a "programming language that uses commands and variables" ? If it's even slightly different then it's no longer the same, at all.
  • Give it a different name, and
    make a few very small changes so you wouldn;t be infringing a copyright,
    Then I see nothing wrong with what you are doing, but you don't have to tell that company about it, do you?
  • 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.
  • 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
  • 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...
    --
  • 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.

  • by bluGill ( 862 ) on Friday March 09, 2001 @05:55AM (#374935)

    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.

  • by grammar nazi ( 197303 ) on Friday March 09, 2001 @04:31AM (#374936) Journal
    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.

Quantity is no substitute for quality, but its the only one we've got.

Working...