http://www.perlmonks.org?node_id=933475

perl.j has asked for the wisdom of the Perl Monks concerning the following question:

I am looking to write a compiler in the Perl programming language. Does anything restrict me from doing this by any license? What would I need to do to find this out?
--perl.j
  • Comment on Am I Allowed to Make a New Compiler/Language using Perl?

Replies are listed 'Best First'.
Re: Am I Allowed to Make a New Compiler/Language using Perl?
by davies (Prior) on Oct 24, 2011 at 22:09 UTC

    This, I think, is the licence for Perl itself. But I think that what you are describing is whether the licence for the language restricts in any way what you can do using the language. The answer to that is an absolute "No". Your code, your rules. Frequently, people say that their code is under the same terms as Perl itself. But no creator of tools has any power over the artefacts created using those tools. Bill Gates doesn't get any royalties from books written in MessWord, and you can bet on it that he'd try if he thought he could.

    I'm guessing that your concern is down to the campaign against the GPL that Redmond has been waging for years. They have been claiming that by using GPL software, you lose rights to your own creations. This is nothing but FUD. Terry Pratchett has invented the term "Deja Moo", meaning "I have heard this bull before". It applies here. Whatever Redmond want you to fear, you have absolute rights over your own creations. Even if you didn't, Tim Toady's pronouncements on the link I started with make it clear that, using Perl, you would.

    Regards,

    John Davies

Re: Am I Allowed to Make a New Compiler/Language using Perl?
by eyepopslikeamosquito (Archbishop) on Oct 24, 2011 at 21:29 UTC
Re: Am I Allowed to Make a New Compiler/Language using Perl?
by RichardK (Parson) on Oct 24, 2011 at 21:09 UTC
Re: Am I Allowed to Make a New Compiler/Language using Perl?
by ikegami (Patriarch) on Oct 24, 2011 at 23:21 UTC

    While the code and documentation is subject to copyright, and while the Perl logo is a registered trademark, neither prevent the implementation of a Perl parser or compiler. As such, no license is needed.

    I can't find any protection for the name "Perl", so you could even use Perl in your product name. It would be more polite to go the "Foo: A Perl Compiler" route, though.

    Since you asked about licences, there are three publicly available.

    Perl is distributed using two licenses: the Perl Artistic License and the GNU General Public License. Again, neither are relevant, since you're not asking to distribute Perl's code and documentation.

    The terms for use of the trademarked logo are found here, although there is a blatant lie on that page. ("Anyone who uses any Perl mark is required to comply with these use guidelines")

Re: Am I Allowed to Make a New Compiler/Language using Perl?
by ww (Archbishop) on Oct 24, 2011 at 23:39 UTC
    The node above, where you refer to license is a clarifier. But it should have been in the OP, originally. Instead, you originally posted this:
    "Does anything restrict me from doing this? What would I need to do to find this out?"
    But now the mention of a license raises two other questions:
    1. Do you not know that no license is required to use Perl for whatever you wish? and,
    2. Is it your desire to write a compiler for an existing language or to write a compiler for a new language of your own devising?

    Please, make your questions precise and complete ...
        ...and please, don't update a node (especially one with replies) without a clear note explaining what you changed!

Re: Am I Allowed to Make a New Compiler/Language using Perl?
by Anonymous Monk on Oct 25, 2011 at 07:25 UTC
Re: Am I Allowed to Make a New Compiler/Language using Perl?
by ww (Archbishop) on Oct 24, 2011 at 21:14 UTC

    <UPDATE:> OP has added language to the parent since this reply was posted. See Re: Am I Allowed to Make a New Compiler/Language using Perl?; "restrict" was originally unrestricted by reference to "license".
    </UPDATE>

    1. ...restrict?   Ignorance?
    2. ...find out?   Study, research 1, try it.

    1 Where "research" ne "ask for a global answer that involves no study or research on your part."

      I'm not sure I understand. I actually did research and found nothing. And by restrict I mean by a license possibly.
      --perl.j