This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line!
See this thread for details.
The moose likes Jobs Discussion and the fly likes Advice regarding home-made java libraries and freelancing Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Careers » Jobs Discussion
Bookmark "Advice regarding home-made java libraries and freelancing" Watch "Advice regarding home-made java libraries and freelancing" New topic
Author

Advice regarding home-made java libraries and freelancing

Frederick Uber
Greenhorn

Joined: Jun 08, 2012
Posts: 3
I'm an experienced Java programmer but I'm just starting out in the world of freelancing. I've built up a fairly large collection of home-made Java libraries over the years, and I'm not sure of the best way to use them in the world of freelancing. Clients usually expect to receive full source code for everything. I'm not too worried about sharing the source code of my libraries, but the package naming is a problem. The way I see it there are 3 / 4 possible options:

  • Give them only a compiled JAR of my libraries, using my normal package name. This is the simplest solution, but like I say most clients want full source code.


  • Give them the complete source code for my libraries using my normal package name. I really don't want to do this because when they edit the library they'll be forking my package, and effectively making their edits in my name.


  • Give them the source code but rename the library package to a name that relates to the client. This would be an awful lot of work, it would potentially make future maintenance a nightmare, and of course I don't have the right to use the client's domain name in the first place.


  • Some other option I haven't thought of.


  • I really don't know what the best solution is. Can anyone out there give me some advice?
    William Brogden
    Author and all-around good cowpoke
    Rancher

    Joined: Mar 22, 2000
    Posts: 12761
        
        5
    Personally, I don't worry about it.

    For the clients I have worked with, they want me to make the changes because they are not about to get up to speed on the code.

    Bill
    Frederick Uber
    Greenhorn

    Joined: Jun 08, 2012
    Posts: 3
    Thanks Will. So just to clarify, you would always go with the 1st option?

    Does anyone else think differently?
    Jimmy Clark
    Ranch Hand

    Joined: Apr 16, 2008
    Posts: 2187
    You would deal with this on a case-by-case basis. There is no single option that meets all situations effectively. You could provide the source code to a client without having to alter package names. This is their code then and they are free to make any changes that they want. If they make any changes to their code, it does not affect you in any way.

    If you provide them the source code and rename it to match whatever makes the most sense for the client, then that is fine as well. As long as you are in contract, this should not be a problem for you. When the contract ends, it does not matter to you.

    If you think that your code is valuable enough to warrant only providing a JAR file, then that is fine too. You may not be able to use this code with some clients then.

    If you make the code Open Source with a GNU-based license, this is most likely the best option.
    Frederick Uber
    Greenhorn

    Joined: Jun 08, 2012
    Posts: 3
    Making the code open source is something I had considered as well, but I don't want to place additional usage or attribution requirements on the client. Even the modified BSD license would place attribution requirements on the client.
     
     
    subject: Advice regarding home-made java libraries and freelancing
     
    Similar Threads
    how did you gain your experience?
    Deploying a JSF 1.2 webapp with an EJB 3.0
    JBuilder 6 and custom tag-libraries
    Need suggestions regarding my job change
    How to print the Output