Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re^14: Why non-core CPAN modules can't be used in large corporate environments.

by itub (Priest)
on Dec 07, 2005 at 16:20 UTC ( [id://514881]=note: print w/replies, xml ) Need Help??


in reply to Re^13: Why non-core CPAN modules can't be used in large corporate environments.
in thread Why non-core CPAN modules can't be used in large corporate environments.

But if you don't distribute the software, it's all theoretical. If I modify John Doe's module to use it to run my website, for example, and I never distribute the modified version, who cares if I posted the list of modifications and copyright notice in the source files (that only I ever see)? That's a formality that only becomes meaningful when you publish the modified version. Otherwise it's just paperwork for the sake of paperwork.

Replies are listed 'Best First'.
Re^15: Why non-core CPAN modules can't be used in large corporate environments.
by tirwhan (Abbot) on Dec 07, 2005 at 17:05 UTC

    That's the entire point of why I'm making such a fuss, it can very easily become more than just theoretical nonsense. If you just copy OS code into your internal application and do not attribute it correctly, your manager/successor/etc. may come along, see this code and also find out that it is being distributed for free by someone else they don't know (who happens to be the original author John Doe, but how is your manager supposed to know that). Your company then decides to sue John Doe for copyright infringement and he is left with the mess all because you forgot/didn't care to include his copyright in the code. This is a very real danger, and because of that you should always include attribution (aside from the fact that it is factually illegal not to do so and just plain disrespectful towards John Doe who after all has done a lot of work which you now profit from).

    There are all sorts of caveats you can bring to this such as you may be the only one who ever sees/handles the code, you think you can always tell your manager later who wrote this subroutine or you don't think your company would ever be so mean as to sue someone. To which I reply this is real life and shit happens, you should attribute code for the same reason you check for success on an open call, it may work 99% of the time but the 1% it doesn't work it'll blow up in your face and someone will get hurt. Also, we were talking about code that is integrated into a corporate codebase where the developer has little to no control over what happens with the code afterwards. If all you have is a website which you tinker with on your own and you mix in another person's code without attribution noone will find out or care and Richard Stallman won't come round your house to kneecap you. But if your website becomes hugely popular and you sell it off to $megacorp for $megabucks and suddenly the authorship of this code is in question things become different (okay, Richard still wouldn't kneecap you because he's a nice guy, but he'd have a point to ;-).

    And IMO it's just plain ethically wrong to take the code from someone who is making it freely available, and has gone out of his way a lot to help you with it and then not do the single thing he asks in return, which is that you properly attribute the code to him. I don't know if ethical issues are just theoretical for you, they aren't for me.


    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 actual practice I do cite my sources for various practical reasons, which include maintainability. I admit I hadn't thought about the possible legal ramifications, and you have a good point there. It's just that I don't consider it something "mandatory" for private code. Maybe it's the "right" thing to do, and that's why I do it anyway, but I don't care whether other people do it or not. I think I might just as well release my modules as public domain, because I just do them for free because I want to and I don't care about all this license mumbo-jumbo; I guess I just went along with the common practice of releasing them "under the same terms as Perl itself"...
        In actual practice I do cite my sources

        And I did not mean to imply anything else, I was talking about the theoretical "if you", as were you.

        If you do decide to release your code as public domain you need to be aware of some things:

        1. You still need to include a notice which explicitly declares that you put your code into the public domain. Otherwise the user of your software is (theoretically) not allowed to copy, use or modify the code without your express consent.
        2. PD software is actually on a legally even more unsure footing than any licensed software. Under many jurisdictions it is unclear whether you can PD your work effectively at all. Including a license in your code (or a two-line reference to a license) makes things easier and clearer for the user of your code in general.
        3. It is possible that someone can take your PD software, modify it, declare it as their own and prevent you from using the original unless you pay them. This is not generally to be expected, but it is possible AFAIK.

        In general, I think both author and user are much better off with software that has a clear free license than software which is public domain. There are reasons why OS licenses are far more popular than public domain declarations these days.

        I should also clarify that I am not a fan of copyright law at all. It would make me very happy if copyright law in it's entirety were abolished tomorrow. But given the laws are what they are at the moment the only possibility to keep software as free as possible is to use one of the FLOSS licenses out there.


        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

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others goofing around in the Monastery: (8)
As of 2024-03-28 09:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found