...Devel::Trace does not seem to actually have a copyright or license attached to it at all. How can you honor what does not exist?

That's not how copyright works. If you are the original author of a "work", you automatically have copyright of that work and anyone wishing to use it (within the realm of copyright law) needs your permission for that use. As copyright holder you can to a large extent govern how people can use your work, for example you can put the work in the public domain and thus remove the copyright obligation for your users (it is however not possible in some countries to give up your copyright, you can just relinquish the rights it gives you). Every open source/free software license I know works from that fact and voluntarily gives up some of the copyright holders rights (for example the GPL works by giving up these rights only under certain conditions, which assure that the user/distributor has to give the same rights to their users). No FLOSS license I know gives up the requirement to name the author and attribute the work correctly.

There is no license file in the Devel::Trace package, true. In theory, this means that noone can copy or use this package without the express consent of the author. Yes, that's correct, without a license the code is copyrighted and its use extremely restricted. In practice, if the author were to sue you over using this package against his wishes, a court would probably (and this is shaky ground already) look at how the package was obtained and conclude that, since it came from a repository of free software without separate legal specification, the user was reasonably assuming the package was free under similar license as other software from this site and the author could not demand damages (though he could demand you desist from using it). I don't think any court would give a user the right to take this work and attribute it to himself.

Lots of software authors, and I most certainly, will agree that free software is a great thing and sharing knowledge freely is a noble ideal we should all aspire to. It is however most certainly not a good thing to ignore a free software authors copyright and use the code as if it were in the public domain and I for one would be royally pissed if anyone used code that I wrote in that way (I'm not the only one, look at the lawsuits that are being fought and won in defense of the GPL). There are lots of practical reasons for that too, for example, imagine a user takes a piece of free software and integrates it into a commercial project without attribution (I'm not alleging Moron did that btw, I was asking him whether he correctly handled the legal side of "copying"). Some time later a company legal pinhead discovers that the code "they own" is also being distributed for free on the Internet by someone they don't know. The company could then feel obligated to sue this same person (the original author) because they think they own the copyright to this code and it's up to him to prove they do not. Not a situation anyone wants to be in (you've heard of SCO?).

it is ridiculous to expect that you can retain any control what so ever over that code and how it is used.

That is not ridiculous at all, but rather written into every license on CPAN. Authors are giving anyone in the world the right to use the code, change it as they see fit, redistribute it and charge for this redistribution. Only a few requirements remain, at core the GPL requires that you make your modifications available under the same license if you distribute them, and the Artistic License requires that you make changes freely available in some form (though you can charge for the distribution of the changes). They both require that you retain the copyright notices on the code. Even the BSD license (which can be viewed as even more liberal than the Artistic License) demands that.

I am of the opinion that "just copying the parts or even ideas you need from a module" is exactly in line with the spirit of open source development.

Taking ideas and integrating them into your own code, absolutely. Taking code and using it in your own code, absolutely, as long as you acknowledge the original authors copyright. Copy-pasting non-trivial bits of code into a commercial codebase without proper attribution is not just "bad manners" it is downright illegal and extremely poor behavior. And you can go talk to your company lawyer if you don't believe me, you'd actually be putting your company into a legally extremely vulnerable position if you do not observe the license a piece of free software comes under.

If you do not agree these things are in the spirit of what you want to do with your code, you can put your code into the public domain. But open source licenses work differently and noone should just ignore that. Am I picking nits? I don't know, the fact that you apparently were not aware of these details makes it worthwhile that I asked 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^9: Why non-core CPAN modules can't be used in large corporate environments. by tirwhan
in thread Why non-core CPAN modules can't be used in large corporate environments. by Moron

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.