Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
In short, the client would want all code delivered as his own property

Licensing or open-sourcing (which is a form of licensing) is probably the right answer for the common, reuseable bits of code. That said, if I were in your shoes, I'd try to understand what the client is concerned about with respect to the code. Some possibilities include:

  • Access to source code and ability to modify it over time for bug fixes and feature enhancements

  • Ability to freely sell a product/service that uses your code without restriction

  • Ability to create derived works without restriction (e.g. "viral" licensing)

  • Whether the license is limited or in perpetuity

While consulting a lawyer is always recommended before selling your rights to a work product, you may want to read up on some options/ideas at The Open Source Initiative. In particular, see the OSI Definition -- the commentary is particularly good at explaining some different rationales. (Update: also Understanding Open Source and Free Software Licensing, an O'Reilly Open Book)

What you should be careful about is incremental things you develop for specific clients that have reusability and that you want to retain. If you already have your code library and you make it clear to the client that you are utilizing that library under an appropriate open source license -- it's really no different than them using Perl or anything else on CPAN.

On the other hand, if you develop something for them and get paid for it and then want to open source the reusable parts to save you time on future jobs, that's a greyer zone unless you explicitly include that in your contract with them. While IANAL, I think you'd be on safer legal (and business) ground if you didn't charge directly for the development of parts of your library -- that's an investment in yourself/your company that you recover later in the premium you can charge for faster delivery. It would be appropriate to charge for the integration of parts of the library into their custom code, however.

Put differently, if part of your work means customization or extension of your own library, your contract needs to be clear that they are paying for that and that you retain the rights to that library -- though you will make it available to them under a license which addresses their concerns. The custom code you develop for them is probably something that becomes their property -- or possibly, that you retain ownership of, but that you license to them on an exclusive, perpetual basis. This kind of hair-splitting is where you really do want to consider hiring a lawyer, particularly if you live in, or work in, or have clients in a more litigious countries (like the USA).

-xdg

Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.


In reply to Re: self developed modules for client use by xdg
in thread self developed modules for client use by arc_of_descent

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



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (8)
As of 2024-04-23 13:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found