Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Re^3: Responsibilities of a module author

by renodino (Curate)
on Nov 23, 2005 at 20:42 UTC ( #511237=note: print w/replies, xml ) Need Help??

in reply to Re^2: Responsibilities of a module author
in thread Responsibilities of a module author

You may be right (IANAL), tho the notion of branching and redistributing wo/ an author's express consent seems a bit nefarious. Modifying for personal use, yes. Redist ? I don't know.

However, if by branching, you mean a complete rename, so that the branched version is completely distinguishable from the original, and the original author is given appropriate credit, but dispensed of all responsibility, I suppose branching may be an acceptable solution under the artistic license. I guess I see the difference as

Take BrowserUk's module XYZ, modify it, and repost it as XYZ with BrowserUk listed as primary developer, but wo/ BrowserUk's permission.


Take BrowserUk's module XYZ, modify it, rename it and post it as XYZPlus with renodino listed a primary developer, but credit given to BrowserUk for the initial development.

Perhaps the rules are more social contract than law; guess I need to go review the Artistic license to see what the relevant conditions are.


I stand corrected.

Upon review of the Artistic License, I discovered the following:

You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following:

a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package.

So, having used the Artistic license on all my CPAN'd modules, I have given implicit permission for anyone to change anything in them, and redistribute as they please. Indeed, one might interpret that clause as requiring the modifier to publicly redistribute the updates.

Which I find appalling.

No, its not because I want absolute control. In fact, I originally used the GPL, but then took the time to really read it one day and realized it didn't do what I expected, namely, I did not want to require anyone using my modules to open source everything they used it with. That should be their choice; I'm offering my software as open source, and thats my choice. To paraphrase Yoda, "Give or give not, there is no GPL."

And I'm more than happy for someone to create a derivative work, so long as they use a different namespace and don't list me as primary developer.

My concern is liability. If you think the little indemnifier at the bottom of the Artistic license is all you need, I suggest you go have a chat with the folks at Sony BMG...they have plenty of indemnification printed on their CDs, but that won't stop TX and CA from grinding major bucks out of them for their recent DRM stunt.

"But I don't write malware/spyware/etc.". Great! However, by using the Artistic license, you've not only given permission to those who do write malware to pollute your code with it, but actually required them to redistribute it using your original namespace with your name as principal developer....just so long as they're kind enough to put a tiny disclaimer in some file 5 or 6 directory levels deep in the distribution. Please keep in mind that distributing, or even facilitating, malware is now a crime in many jurisdictions.

And of course, there's the whole issue of responsibility for bugs that are inadvertantly introduced by modifiers.

So I'll be busy this weekend, trying to find a license that provides a bit more protection, and updating my modules to reference it.

  • Comment on Re^3: Responsibilities of a module author

Replies are listed 'Best First'.
Re^4: Responsibilities of a module author
by tirwhan (Abbot) on Nov 23, 2005 at 21:22 UTC

    the notion of branching and redistributing wo/ an author's express consent seems a bit nefarious

    Why? That's exactly what free software is about. If there's an application/library you like but which hasn't been updated for a while and you have the skills to fix it and thereby make it work for you because you have the code and the license allows it, great. If you can then redistribute the software along with your changes and thereby give the community the chance to profit from your work, so much the better.

    This is not to say that I'm advocating wholesale forking of projects, it is usually much better to work with the original author and merge your changes back into his/her code. For one thing, you won't suddenly have to field the requests by users for yet more changes :-). But if the original author doesn't like what you're doing or is incommunicado for ages or you just simply don't get along, putting your version up somewhere for others to use is definitely the better option than letting your code smolder lonesome in your SCM.

    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
Re^4: Responsibilities of a module author
by tilly (Archbishop) on Nov 24, 2005 at 04:11 UTC
    You'd have to look long and wide to find a judge who would consider convicting you for having a malware author borrow code that is clearly not intended as malware.

    You would not have to look far for an appeals court who would overturn such a stupid judgement.

    To use the example that you brought up, the LAME folks have no worries about being sued for facilitating malware even though their software got used by Sony. (Of course there is the aditional issue of copyright violation there...)

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://511237]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (5)
As of 2019-12-12 14:21 GMT
Find Nodes?
    Voting Booth?

    No recent polls found