Hacker News new | ask | show | jobs
by HeyLaughingBoy 641 days ago
Get an overview of the things they want changed and determine if it's something you have time for, or are willing to set aside time for. Can you deliver in a reasonable timeframe, for their definition of reasonable.

Assuming that's a go, then decide how it should be paid for. You have the option of time based (hourly/daily/weekly rates) payment, where you should charge the higher of what's normal for your area or the potential client's.

Or a project-based payment. If you're new to this, and it sounds like you are, I would stay away from this. Done right, you can make far more than time-based billing, but it takes experience to get it right.

Never forget: profitable businesses have money and expect to use it to get what they want. Despite what other comments say, it's exceptionally unlikely that they expect you to do it for free. They expect a bill that's at least a month of a developer's fully burdened salary.

After you've gone through this experience, you may have a better idea if it's something other businesses are likely to ask for. If so, make sure you indicate on the site that customizations are available.

2 comments

Totally agree with this advice. The only caveat would be that there can be legal issues with charging money to work on a product that has specific licenses, whether or not you own it. You need to do some research (or maybe you could ask the company to do that research) to make sure you don't have to do some copyright wrangling to do this legally.
That's interesting. What licenses have you seen that prohibit charging for work on the associated product?
Don't know if it's what GP means but without a clear contract there's room for the paid work to be considered "work for hire" which means the company owns the change and OP wouldn't be able to incorporate it into the open source version of the project.
if the company uses the original product under a GPL license, then any changes they make (or pay the original developer (or anyone else) to make) have to be GPL too. the company would still own the copyright for that code, but it would be no different from any other contribution to the project.

if the company uses the product under a different license, then making the change public would have to be negotiated. a consideration for the company among others is that the company thinks that the change would be a competitive edge they would like to keep themselves (although most often that is an illusion, and the extra cost of maintaining that branch is not worth the advantage. this is something the developer needs to communicate)

if the nature of the changes make maintaining a separate branch difficult then i would make it clear up front that such a change can only be made if it is incorporated in the FOSS version of the product.

alternatively, i remember from the early days of zope, one of the project owners told me that they would offer companies a 10% discount if they would allow them to make the change public.

Only if they distribute the software.
that is technically correct, but what is distribution in the context of complex business relationships is not clear. even giving software to a contractor to work on could be considered distribution, so if the software is GPL then it is safer to just assume that any changes are going to have to be GPL too. if you do not want that then you better make sure you get the software under a license that does not risk your paid changes being under GPL.
Obviously the contract needs to specify the license.
Obviously. And yet these things are left un-/under-specified all the time.
I'll look into it. thanks a lot.
Great advice. Thank you very much.