I would like to make a suggestion as to something TPF could do for the Perl community. (Please let me know if you think I should post this elsewhere, it didn't seem appropriate to post it as a comment on the foundation blog).

Based in part on bits of an ongoing thread here on PM, I think we could do with some clarification regarding the legal and ethical requirements for reusing CPAN and Perl resources in commercial environments. Could TPF maybe get together with a lawyer (from the EFF?) and put together a document which gives answers to the following questions in a non-legalese language (i.e. understandable by a programmer who is not generally interested in legal matters):

  1. Can I copy a piece of code from a CPAN module and integrate it into my own or my companies code without copyright attribution to the module author?
  2. If the answer to 1. depends on the volume of code I copy, how much can I copy before copyright attribution becomes necessary?
  3. Can I use CPAN modules (or parts thereof) in a commercial and closed code-base? Do I have any obligations towards the author in that case? What are these obligations?
  4. What is the status of CPAN modules which do not include a license file/statement? Are these implicitly under a certain license? Do I need to treat these modules any differently than I would modules which contain a license file?
  5. What constitutes a copyrightable piece of Perl code? Is a popular technique like the Schwartzian Transform copyrightable?
  6. What difference regarding above questions does it make whether the module is licensed under the GPL or Perl Artistic License?

These are just questions that arose from that thread and seem to not have a clear and unambiguous answer by an authoritative source. If this proposal were accepted it would probably be a good idea to ask the Perl community what questions they have.

The purpose of this proposal is not to create further rules or legalese for programmers to abide to. Rather it seems important to me to make the answer to these questions clearly understood so that conscientious Perl programmers can go about their normal business without having to worry about hidden legal (or moral) trapdoors. BrowserUK has stated that my interpretation of these issues as I understand them would make it impossible to use Perl in a commercial project. I think that's the wrong conclusion to jump to, but it would be helpful to have further clarifications to make sure.

I understand the difficulty of giving binding legal advice on such general terms and know that probably no lawyer will commit to giving it. I don't think that's necessary though, if someone wants a binding answer they need to go to their (or their companies) lawyer anyway and opinions will differ. But a non-binding advice by someone who has a good understanding of these issues would be very helpful IMO.


Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- Brian W. Kernighan

In reply to Re: The Perl Foundation Wants to Hear From You by tirwhan
in thread The Perl Foundation Wants to Hear From You by Ovid

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.