Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Ask Slashdot: How To Get Paid For Open-Sourcing Your Work?

Soulskill posted about 2 years ago | from the open-source-bank-robbing-software dept.

Open Source 167

kc600 writes "Say you're a freelancer, using mainly open source solutions. You notice that customers, although they don't object to the whole open source idea, don't see the point in paying you for the time it costs you to properly open source your code. As a result, code is not released, because it would take too much time to factor out the customer-specific stuff, to debate architecture with the other developers, look at bug reports, et cetera. You feel there's something to contribute that many might benefit from. The code would also be better maintained if more people would use it, so the customer's project would also benefit. But you're not going to do it in your free time; you have enough on your mind and the bill is paid, right? What useful tricks can you think of to encourage yourself — and your customers — to properly share code, to the benefit of all, and get paid for it?"

Sorry! There are no comments related to the filter you selected.

Wrong question - "how to get paid?" is enough (5, Insightful)

dbIII (701233) | about 2 years ago | (#41678499)

The hard question really is "how do I convince people to give me money for writing software?". Open or closed are just details if it's being sold as part of a provided service.

The spirit of Johnny Appleseed (5, Interesting)

Taco Cowboy (5327) | about 2 years ago | (#41678555) []

When I open sourced the programs that had made me some money, but I had no time nor the stamina to keep working on them, I didn't expect to get paid for that.

Instead, I thought of Johnny Appleseed.

The programs that I open sourced, to me, are old stuffs. I could have kept them under closed source, store them in CD-Rs or external hd or old computers, or ....

I could have done that, but if I did that, it wouldn't benefit me, nor anybody else.

When I open sourced those programs, I didn't even know if anybody else wanted them in the first place. I just placed them online, did some advertisement on related sites, and then, let go.

If the "appleseed" blooms, good.

If they don't, well, it'd be the same as I locked them up in CD-Rs.

The most important thing is that I've set them free. Their "lives" after being set free depends on their "fates", or in spiritual kinda speak, "karma".

Once they are open-sourced, they do not belong to me anymore. Now, they belonged to the world.

Re:The spirit of Johnny Appleseed (0)

Empty Bentobox (2744599) | about 2 years ago | (#41678569)

Find customers that understand this mentality!

Re:The spirit of Johnny Appleseed for Everything! (5, Insightful)

hughbar (579555) | about 2 years ago | (#41678751)

Mod this up to the skies, please! In my opinion this applies to -everything- forgotten books [I've been thinking about trying to find the rights owners for some of them], forgotten music [same problem, I'm from the 60s there's some wonderful stuff buried] etc. Unhappily, for me, this non-publishing is collateral damage that [in the spirit of Bentham: [] should be increasing the sum total of human happiness and instead lies locked or buried.

The second point, for software etc., is the 'standing on the shoulders of giants' idea. That is, something fairly simple or a few bits can be used to build something spectacular or inspire it. Same point of inspiration idea for music too.

Great post with a great many 'extra' implications, thank you.

Re:The spirit of Johnny Appleseed (1)

Anonymous Coward | about 2 years ago | (#41679153)

*sits down, shaking*

I just felt a disturbance in the force, as if a million lawyers just clapped their hands together in glee.

Make sure, please, that you're contractually permitted to do this. Most paid work I do for companies tends to be owned by those companies.

Re:Wrong question - "how to get paid?" is enough (3, Insightful)

beelsebob (529313) | about 2 years ago | (#41678809)

This is really rather simple... The reason you are getting paid is because you are doing what they want you to do, not what you want to do. If they don't want to open source it... Tough titties.

Sure, have a quick go at convincing them that the project or a subset of it would get them good publicity if they allowed it to be FOSSed, but really... It's their code, they paid for it, so it's their choice.

Re:Wrong question - "how to get paid?" is enough (3, Interesting)

icebraining (1313345) | about 2 years ago | (#41679295)

It's your choice too; nothing forces you to work with clients that refuse it.

Almost all our software is open source, and clients don't really get a say in that besides simply not hiring us. Yet we don't have a lack of clients, because being open source enables us to take advantage of GPLed code from other companies - much like they do with our code - and deliver much cheaper and well-tested solutions that custom proprietary code.

Re:Wrong question - "how to get paid?" is enough (4, Insightful)

chrismcb (983081) | about 2 years ago | (#41679473)

It's your choice too; nothing forces you to work with clients that refuse it.

I didn't get the impression that their clients are refusing to allow the OP to open source the code. They are just refusing to foot the bill for it. I'm also making the assumption that the code the OP is referring to is NOT actually work for hire code, and he actually has the permission to open source it. He is just doesn't want to open source it for free.

Re:Wrong question - "how to get paid?" is enough (1)

Vintermann (400722) | about 2 years ago | (#41679321)

In an ideal perspective, what you want or what they want shouldn't matter. There are only two questions:

1. Is there some set of people that are better off from this being released?
2. Can the same benefit cheaper elsewhere?

If the first is true and the second is false, they should, in a perfect world, be able to coordinate to pay the author to release it, letting him capture some share of the benefit they get from it. In practice, things that are slightly useful to lots of people are underprovided because we don't have the mechanisms necessary to effectively find them and pay for them.

They pay for me (0)

Anonymous Coward | about 2 years ago | (#41679603)

so they can do anything with my code they want; I don't want that code anymore, let them have it. Most of the time it goes to the trashbin anyway (nowdays agile means reiterate forever).

Re:Wrong question - "how to get paid?" is enough (1)

lightknight (213164) | about 2 years ago | (#41678819)

Indeed. Which is why my latest program is probably going to be GPL v3'ed, with a donation page on there somewhere. I'm going to put Benjamin Franklin's quote to the test, to see if something universally useful is better off not being patented / locked up / paid licensing. If there is ever enough money in there to buy a pizza, I will be surprised.

Now, the other program I am working on...will only be seen in the light of day after I have enough to buy a few south Pacific islands. It's taking slightly more than a year to finish the basic framework, and if it does work (preliminary tests were promising, but again, you can only go so far at that stage), it will be quite exciting. That particular program will probably spend a few years acting as a web service, with the output being what I'd sell.

Re:Wrong question - "how to get paid?" is enough (1)

TheRaven64 (641858) | about 2 years ago | (#41678871)

Indeed. Which is why my latest program is probably going to be GPL v3'ed, with a donation page on there somewhere. I'm going to put Benjamin Franklin's quote to the test, to see if something universally useful is better off not being patented / locked up / paid licensing

Two problems with this: first, you assume that some nebulous thing that you are creating is 'universally useful'. I don't think I've ever seen any software that falls into that category. Secondly, you pick an ultra-restrictive license that a lot of individuals and companies will avoid like the plague to test your hypothesis.

Re:Wrong question - "how to get paid?" is enough (0)

Anonymous Coward | about 2 years ago | (#41679061)

Two problems with this: first, you assume that some nebulous thing that you are creating is 'universally useful'. I don't think I've ever seen any software that falls into that category.

So I get you've never seen an operating system.

Re:Wrong question - "how to get paid?" is enough (1)

TheRaven64 (641858) | about 2 years ago | (#41679123)

I've seen lots of operating systems, but I've never seen one that is universally useful.

Re:Wrong question - "how to get paid?" is enough (1)

beelsebob (529313) | about 2 years ago | (#41679241)

I know of a universally useful tool []
/me ducks

Re:Wrong question - "how to get paid?" is enough (0)

Anonymous Coward | about 2 years ago | (#41679527)

Then you have a definition of "universally useful" which itself isn't useful at all.

Re:Wrong question - "how to get paid?" is enough (1)

ralatalo (673742) | about 2 years ago | (#41679311)

Or, with the slight modifier of "more".


You are getting paid to write the code, and you could have negotiated the cost of releasing the source as part of that,
but you want them to pay YOU more for that YOU think is the right thing.

Re:Wrong question - "how to get paid?" is enough (1)

Kagetsuki (1620613) | about 2 years ago | (#41679323)

Right, and especiialy with Open Source that comes down to selling software as a service or customization as a service. Having a core product OSS that you can offer as a service can also be beneficial in that you can develop a community of other developers doing the same, and contributing improvements and fixes in the proces (like getting ideas and code for free). Projects like Spree and Refinery CMS are great examples of this.

Simplest way (0, Insightful)

Anonymous Coward | about 2 years ago | (#41678529)

Don't open source it.

Do and don't (0)

Anonymous Coward | about 2 years ago | (#41678531)

DO: The old MySQL way of selling FLOSS seems fine to me. See also: MySQL.

DON'T ask for subscription money to open source your work, this is called "pulling a lunduke". See also: lunduke.

In general, read up on the works of Bruce Perens. See also: Bruce Perens.

Re:Do and don't (4, Interesting)

Half-pint HAL (718102) | about 2 years ago | (#41678661)

But if you were to make it into a one-off Kickstarter project, it wouldn't be pulling a Lunduke. Personally, I'm getting sick of all the Kickstarter campaigns that are "I want to make a profit, but I'm not willing to risk my own time and money -- you guys take the risk, I'll make the profit, m'kay?" and would relish more campaigns that say "I want to make an honest buck -- pay me fair and square for my time, and I'll forego future royalties," because that's really the whole point of risk-reward. People working on royalties take a high risk, gambling on the reward. Eliminating the risk without eliminating the chance of a high payout, it's, well... unfair.

Re:Do and don't (2)

icebraining (1313345) | about 2 years ago | (#41679313)

There are some nice projects on KS. See git-annex assistant [] ; a very talented guy (Debian 'oldtimer', wrote git-annex) which is delivering a real free and open source program for a fairly low "salary".

Re:Do and don't (1)

Half-pint HAL (718102) | about 2 years ago | (#41679347)

I can't imagine coding something like that at $20k a year -- isn't $30-35k more like the average? And that's not counting pension plans, medical insurance, sickness cover etc. $50-60k sounds like absolute bottom-end for that sort of work as a contractor (and that's still more that Lunduke was asking!)

So, it's great that he's willing to accept it, but it sets the bar awfully low for the rest of us.

Re:Do and don't (2)

icebraining (1313345) | about 2 years ago | (#41679475)

I think he's taking a big paycut to work on what he wants, when he wants, free from stress and annoying people. It's a reasonable trade-off.
And I don't think he really lowers the bar for everyone else.

In any case, his living arrangements seem rather inexpensive: []

Re:Do and don't (1)

Vintermann (400722) | about 2 years ago | (#41679325)

For non-idealistic projects, equity crowdfunding may be more fair. This is available, just not from Kickstarter (when they started it wouldn't have been legal).

Re:Do and don't (0)

Anonymous Coward | about 2 years ago | (#41679581)

"this is called "pulling a lunduke". See also: lunduke."

but he had to keep his daughter in fine woolen scarves!

You're in the wrong business (2, Insightful)

KalvinB (205500) | about 2 years ago | (#41678535)

If you want to get paid to write software then you're writing it for a company. If you want to write software to give away then stop expecting people to pay you for it. They want something for them. Not something for the world to use. By expecting to just give away their code you're telling them you're not focused on their product for their company. And why would they pay you to write software that a competitor can just use for free? If no competitor would use it, then why are you making it open source?

If you want to contribute to open source then do it on your own time with your own money.

It seems to me the bigger problem is that you're not a programmer, you simply find existing things that kind of do what the customer wants and piece them together.

If you can't write custom code for a client without using GPL code then you're not very good at your job.

And if you can't see the stupidity of giving something away that a client paid you thousands for then there's no help for you.

Re:You're in the wrong business (-1)

Anonymous Coward | about 2 years ago | (#41678603)

Your an idiot.
Based on the crap you just wrote every programmer should always write code from scratch and if they can't they're a crappy programmer.
What a waste of time and money.
Wake up you tool.

Re:You're in the wrong business (0)

Anonymous Coward | about 2 years ago | (#41678711)

If they expect to be paid for everything then yes they should be writing it from scratch or at least not including public libraries and then charging for them. If you expect a customer to pay for your own good deeds to the open source community then you are living in a dream land, especially if you think they are going to be happy about you publishing all the work they just paid for so their competitors can use it for free. If you need to publish the content back to the open source community due to licensing then this should be laid out in any contract you have to build software as it is a part of the cost of what you are building.

Re:You're in the wrong business (0)

Anonymous Coward | about 2 years ago | (#41678921)

BTW, there's nothing in the GPL (at least until v2, haven't looked at 3) that forbids you from receiving money for the work, the binaries, or the source code itself.

Re:You're in the wrong business (0)

Anonymous Coward | about 2 years ago | (#41679013)

I never claimed their was, merely that you are then obligated to contribute it back to the community, nothing wrong with that requirement, but it should be put in as part of the cost of your project.

Re:You're in the wrong business (4, Insightful)

TheRaven64 (641858) | about 2 years ago | (#41679139)

There is nothing in the GPL that requires you to contribute back to the community. The only requirement is that you give the same rights to anyone that you give derived works to that you received. For example, you can take GPL'd code, extend it, and then sell the result to a company, with a contract prohibiting you from selling or giving it to anyone else. They are then free to redistribute it under the terms of the GPL, but they are not required to. The GPL does not require you or them to return any code upstream, only to pass rights downstream.

Re:You're in the wrong business (2)

slashping (2674483) | about 2 years ago | (#41679309)

No, GPL clause 6 explicitly states that you may not impose any further restrictions on the recipients' exercise of the rights granted in the GPL. So you cannot sign a contract that prohibits you from distributing the program in accordance with the GPL. While it is true that the GPL does not require you to return any code upstream, it does not allow any way to prevent this either.

Re:You're in the wrong business (3, Interesting)

TheRaven64 (641858) | about 2 years ago | (#41679425)

You misread. You are not imposing extra conditions on people who receive the code, you are accepting extra conditions imposed by the person to whom you give the code. This is permitted by the GPL, because copyright law does not make it possible to impose this restriction.

Re:You're in the wrong business (1)

chrismcb (983081) | about 2 years ago | (#41679491)

No, GPL clause 6 explicitly states that you may not impose any further restrictions on the recipients' exercise of the rights granted in the GPL. So you cannot sign a contract that prohibits you from distributing the program in accordance with the GPL.

In the first statement you claim you can not restrict the recipients rights. In the second statement you claim BECAUSE of this, you can't prohibit your rights. YOU are not the recipient. Of COURSE you can give up your rights, without restricting the recipients rights.

Re:You're in the wrong business (1)

slashping (2674483) | about 2 years ago | (#41679625)

It doesn't matter where your copy of the code comes from. You have obtained a copy, and your client is trying to prohibit you from spreading it. Clause 2b states that any of your modifications must be licensed as a whole to all 3rd parties. Your client doesn't have the right to stop you. Besides, it's all pointless anyway. If the client that you made the code for is making products and selling the binary, any of their customers can obtain the sources, and publish them anyway.

Re:You're in the wrong business (1)

LinuxIsGarbage (1658307) | about 2 years ago | (#41679381)

Some people seem to complain that Canonical doesn't contribute enough to the kernel [] . Which I don't understand. They are not obliged to contribute to the kernel, and they instead focus on areas they feel need improvement: Ease of use, Desktop experience, UI, (Unity not withstanding.)

Re:You're in the wrong business (0)

Anonymous Coward | about 2 years ago | (#41679667)

*You're an idiot.


You're an idiot.

Re:You're in the wrong business (5, Insightful)

slashping (2674483) | about 2 years ago | (#41678623)

So instead of a programmer grabbing a Linux kernel, and spending a few days to add a driver for customer specific hardware, you would advocate that he wrote his own operating system instead ?

Re:You're in the wrong business (2)

jones_supa (887896) | about 2 years ago | (#41678635)

I suppose the submitter is thinking about benefiting the ecosystem as whole when you don't have to reinvent the wheel every time. That's what open source is about...

Re:You're in the wrong business (0)

Anonymous Coward | about 2 years ago | (#41678651)

And why would they pay you to write software that a competitor can just use for free? If no competitor would use it, then why are you making it open source?

They would pay because he is programming what they need. If there already was a solution they would use that instead of paying someone to program it for them - probably regardless of the license.

You also forget the benefits: If the competitor needs a cool feature that the original programmer is too busy to implement and if the competitor plays less there's a good chance the cool feature your competitor implements itself will end up in your version too.

It's a different mindeset. "We must absolutely never do something that could also benefit competitors" vs. "We make products because with our products people's lifes will improve (and we also make money)".

Come on, tell me, it's not economically viable. You are absolutely right. Facebook, Twitter, etc. would never open source their tools.

Re:You're in the wrong business (0)

Anonymous Coward | about 2 years ago | (#41678723)

or more likely the competitor makes the change themselves and is not onselling it and therefore has no requirement to publish the improved code. They get the double benefit of a competitive advantage and a free base code funded by their competitor. If you believe most commercial companies would do otherwise then I have this nice shiny bridge to sell you.

Why worry about the competitor getting benefit? (0)

Anonymous Coward | about 2 years ago | (#41679565)

To refuse would be cutting your nose off to spite your face.

If your competitor gets someone to write an improvement for them, they have had to pay full wages for it. This company could do the same. If it was closed source, then they would HAVE to get someone in and pay full wages for an improvement. But open sourced, they may get improvements for free. So just to spite the competition in the remote possibility they would bother to leech off the GPL release, you would refuse to get free improvements?

Penny foolish AND pound foolish.

Re:You're in the wrong business (1)

OneAhead (1495535) | about 2 years ago | (#41678669)

Your post seems to be based on a truckload of assumptions. Yes, there are people like you describe. I don't see any indications that the OP is one of them. Did you even read the story?

Re:You're in the wrong business (1)

Roger Lindsjo (727951) | about 2 years ago | (#41678817)

There are customers willing to pay to get software developed to solve their specific problems but lack incentive to also make a profit on it by selling it to other parties. I currently develop software under different GPL licenses (as per request of the client). That way there is a smaller risk of IP conflicts of who actually owned the code (now it doesn't matter). There is also a chance that new functionality will be developed, driven by the need of others that this customer can benefit from in the future. By choosing an appropriate GPL license you can ensure that you have the option to benefit should a competitor decide to expand on your work. It does not mean that you have to GPL all your code, and if necessary you can use it with a non GPL license internally if required.

As for giving something away that originally cost a lot of money, do you never give anything away? I give away used electronics, clothes, toys and furniture. Some of it could probably be sold instead, but the effort of doing that is not worth it (for me). An easier option for me would be to just throw the stuff away and that might even benefit producers as some of the useful products would no longer be available, but this way there is a chance that they will be reused and benefit society as a whole.

Re:You're in the wrong business (5, Insightful)

TheRaven64 (641858) | about 2 years ago | (#41678909)

Another poster already called you an idiot, so I can skip that part and get onto exactly why you are wrong. People pay me to write software because they need that software written. That is the best motivation for writing software and the reason why about 90% gets written. The remaining 10% of commercial software is written because someone thinks it's a good idea and that they'll be able to sell finished versions.

Pretty much all of the software that I've been paid to write has been released under a permissive license (MIT, FreeBSD, or UIUC license). This is because there is a non-zero cost associated with maintaining a proprietary fork, which is basically what happens when you make any nontrivial changes to open source code and don't push them upstream. New features and bug fixes upstream may change some interfaces that you depend on and this means that you end up either having a version with known bugs (including security holes), or you spend money backporting the changes to your branch. If you upstream the code then someone else pays for this and it is cheaper for you. In FreeBSD land, we're currently working with Netflix and Juniper to upstream a load of their changes for exactly this reason: they want to spend developer time (and therefore money) on new features, not on keeping old ones working.

More importantly, if you don't upstream your code and it's useful to others then eventually someone else will implement the same feature, but often in a different way. You then either throw away the code that you've paid to have written and use theirs, or maintain a fork that is now radically different to upstream and therefore much more expensive.

As the developer, you also benefit from being able to use the code elsewhere. Everyone wins: your current customer gets a lower long-term maintenance cost, your next customer gets a smaller up-front cost, and you don't get bored implementing the same thing lots of times.

Just approaching the market wrong (1)

CadentOrange (2429626) | about 2 years ago | (#41679283)

And if you can't see the stupidity of giving something away that a client paid you thousands for then there's no help for you.

You could offer a discount to your customers if they allow you to open source the code. This benefits everyone. Your customers get a nice discount, and you get to open source your code and potentially help speed up your development time on subsequent projects. To get around the drop in income, you could raise your baseline rate and encourage your customers to take the discount.

Alternatively, you could just focus on refactoring and open sourcing the code in your own free time.

Re:You're in the wrong business (1)

icebraining (1313345) | about 2 years ago | (#41679329)

Because we give and take from the free software community (and it's not a zero-sum game), our solution will be up and running on the clients machine before you even wrote the first draft. Clients want results, not paying more just to keep the program closed.

Keep rebuilding the world for each client, I'm sure they'll be happy to pay you 10 times what we charge for each project.

Re:You're in the wrong business (0)

Anonymous Coward | about 2 years ago | (#41679373)

the phallacy is "give away"!="open" in the way we usually mean it here.

"something for the world to use" is also "something for the world to *improve"

it might actually be more beneficial to your company to invest in opening as related as related to its probability of being improved at no cost (debugging, features, etc...) without any additional investment. or perhaps at least once it falls unmaintained but it was popular enough to have a potential user community

if you're solving problems, odds are other people out there are solving similar problems, and may try your code. (of course there are probably exceptions, including apparently the only things this dude accepts as The Real Programming(TM))

A friend of mine who is an avid open source... (2, Interesting)

Anonymous Coward | about 2 years ago | (#41678545)

advocate told me; YOU should not make money from open source but from other work. (support and crap like that)
I asked him why he (and Stallman) was getting paid but I shouldnt be? The reply? We are not, our companies/institutions are.

So there you have it: Wanna live of making opensource? Start working for a mega corp or a university.

It's not "your" work (1, Insightful)

KalvinB (205500) | about 2 years ago | (#41678561)

When someone is paying you, it's "their" work. They are paying you to build something they own.

You no longer own it as soon as you cash the check for the work you did.

Re:It's not "your" work (2)

micheas (231635) | about 2 years ago | (#41678599)

IANAL, but not in most cases.

In most cases unless there is a copyright assignment clause in the contract the copyright stays with the developer.

This is how Ross Perot made his billions

You don't get copyright to Oracle's database software even if you cut a seven figure check. Small developers are no different.

Re:It's not "your" work (2, Insightful)

Anonymous Coward | about 2 years ago | (#41678699)

If you're a contractor, this is something normally specified in the contract. That contract will be specific about who owns what, and when the change in ownership happens. That's usually after delivery and final payment.

I know it happens, but I have never personally seen work done where the contractor owned the end result. You can't assign them ownership of "Oracles Database", but they usually own the code you wrote that uses that db.

Either way, it's a contract issue and should always be spelled out.

Re:It's not "your" work (2)

TheLink (130905) | about 2 years ago | (#41678745)

but I have never personally seen work done where the contractor owned the end result.

Check out wedding photographers in some countries.

Re:It's not "your" work (0)

Anonymous Coward | about 2 years ago | (#41679191)

In most countries even: the Berne convention is geared towards the authors: See article 2 sub 6. Some countries have created a legal fiction that marks an employer as author of a work, but none (afaik) that mark an a casual contractor

As micheas remarked, unless there are is contractual transfer of rights, copyright ("ownership", although that term does not really apply) lies with the author.

Re:It's not "your" work (1)

chrismcb (983081) | about 2 years ago | (#41679511)

I didn't realize Ross Perot wrote software. When someone HIRES you to write some software for them, they own the copyright. Its called "works for hire." Of course you can negotiate the contract up front, and retain the copyright.

Re:It's not "your" work (1)

rohan972 (880586) | about 2 years ago | (#41678999)

Not everyone works under those conditions. Most employees do, contractors terms vary considerably."Work for hire" rules are a default and you are free to negotiate different terms.

Are you or are you not a freelancer? (2, Insightful)

Anonymous Coward | about 2 years ago | (#41678581)

Why should your customer pay you for something you want to do?

You simply deliver them a solution and make sure the code is GPLed. Release engineering you can do in your own time, which when done right is an investment in future business because you can re-use the code for another client, deliver better solutions because you got some (free) help improving the code from random strangers, that sort of thing.

As a foss freelancer, you're much more a consultant than a software manufacturer. Amend your mindset as appropriate.

Re:Are you or are you not a freelancer? (1)

Half-pint HAL (718102) | about 2 years ago | (#41678617)

Exactly. If it really will improve the OP's projects, it will pay off in the long term. However, as to the question of "properly open sourcing the code", I would hope that the OP has indeed already done that: if he's using GPL code and there's a copy of the source code available to the recipient of the object code, then it is already properly open source by the terms of the GPL. If the customer later provides a derivative to someone else as closed source, that's still not the OP's problem.

The real question (0)

Anonymous Coward | about 2 years ago | (#41678585)

Why are you delivering code to your clients in a state that you're unwilling to publish?

Re:The real question (2)

BronsCon (927697) | about 2 years ago | (#41679047)

It's done all the time. Some little customization, to an otherwise widely-useable codebase, that is tailored to the specific needs of a single client.

I can't count how many times my company has put together a custom extension to our core product for a client only to later field many requests along the lines of "you know, like you did for [client] but with this small change" and end up rolling that same modification into our core product with a wider variety of configuration options.

Sometimes you're implementing a feature as a one-off, coded to behave a certain way because the client doesn't need, or want to pay for, the flexibility of a more generalized implementation. That is code I would never release to the public, but that doesn't make it bad code.

Put it in the contract up front (3, Informative)

FranTaylor (164577) | about 2 years ago | (#41678601)

If you are serious about this, then make it an integral part of your "business plan" and put in your contract that open-sourcing the project non-negotiable.

REALLY you should SELL your customer on the idea that the software THEY ARE PAYING FOR will be BETTER.

Refactor your code correctly (2)

Frans Faase (648933) | about 2 years ago | (#41678611)

If you have to factor out custromer-specific stuff it means that your code is not well refactored and does not have clean interfaces. While you are writing code for a customer, you should take care that at the end you can release your open source parts immediately. The extra time this might cost is quickly returned, because your code will be cleaner and easier to develop. It will also result in component that are beter to use by others, because they do have a clean interface. One reason why open source components are often not reused because they have a bad interface. Refactoring is a great technique to develop clean interfaces. You will benefit it from yourself if you learn to create clean interfaces. It is an art not easily managed, I have come to realize.

maintenance fee (1)

dutchwhizzman (817898) | about 2 years ago | (#41678625)

Put in the contract for development that either they will have to pay you a maintenance fee, or pay for maintenance on an hourly rate when required. The third option we that If they choose to open source the code you write for them and it gets accepted in the project you wrote the extension for, they will have the option to use that maintained code. Let them make the choice, at least this will give you an option to work on it as an addition to an existing FOSS project, or some custom thing from the very beginning. By starting out already knowing which direction you're going, the difference in development time will be less than if you have to re-write everything to get it merged with the FOSS project.

Simple (0)

Anonymous Coward | about 2 years ago | (#41678631)

Use linux as an example; it's open and because of that it has spread to every bit of hardware in existence and has become the most robust OS.

That's because of all the eyes on it. You can't have that without opening.

Tell your client to open their eyes and they'll profit from all the eyes when you can't meet the demand.

They'll see results with their own eyes.

Re:Simple (0)

Anonymous Coward | about 2 years ago | (#41679587)

Hey client, I'm a shitty programmer and the source code is full of bugs. You should pay me extra so I can open source it. That way everyone else can see the bugs and they'll work for free to fix them.

We had this problem. We solved it. (4, Informative)

JonToycrafter (210501) | about 2 years ago | (#41678637)

I work for a 5-person tech cooperative. We were writing code, documentation, etc. that we wanted to contribute back to the community. So out of our "profit", we made sure that we set aside some funds for our members to spend some of their time abstracting code, packaging it up for release, etc.

The basic principle is the same for a freelancer - you have to raise your rates. Are you charging $100/hr? Charge $110/hr. Use the extra money to pay yourself to package up the code.

In terms of "useful tricks" - well, as a freelancer, you don't have the privilege of someone keeping you honest to your goals. You can change your personal rules whenever you want. But frankly, I would say my co-op has made a net PROFIT on open sourcing our material. When we open source it, we post about it on our blog, Twitter, etc. This increases our referrals from other developers, it means more folks are finding us on the search engines, we gain credibility with other developers when we need them to fix a bug in their module. Maybe the "trick" is to remind yourself of those advantages.

The only way it has ever worked for me (4, Informative)

Yaur (1069446) | about 2 years ago | (#41678639)

I have been paid for writing open source software but only in the following context:
Open source project X almost meets our needs, however it is missing the following 3 features. I could spend two weeks implementing those features (but we will need to contribute it back to the project) or two months implementing the library from scratch, which do you prefer?
Basically, I would say that you need to present a very concrete value proposition in front of the customer and let them pick... starting an open source project as a contractor and on the customers dime is pretty much always going to be a non-starter.

charge for updates (1)

crutchy (1949900) | about 2 years ago | (#41678665)

open source initial release, and if its good, hold of improvements/updates/bug fixes until a donation meter reaches a certain amount

dunno if you would get a lot of money that way, but you might get a bit

This is a non-issue. (0)

Alex Belits (437) | about 2 years ago | (#41678695)

This is a non-issue, and the only reason such a question can be asked is being a part in a propaganda campaign against open source software.

If it were meant to be (0)

Anonymous Coward | about 2 years ago | (#41678737)

If you were meant to be a success at writing open-sores software, you would be able to subsist on toe cheese while crashing in the random living room.

Tax write-off (0)

Anonymous Coward | about 2 years ago | (#41678739)

Develop the code, then create a not-for-profit organization and donate the code to it and write yourself a tax receipt.

Why did you think Mozilla, Apache etc are all not-for-profits?

Tell the company what's in it for them (3, Insightful)

bigHairyDog (686475) | about 2 years ago | (#41678775)

I recently successfully persuaded the company that I freelance for to open source a core part of their product line. The part we open sourced was essentially the engine that powers several other products. I had a whole page of benefits prepared, but the main one was this:

"Your developers don't seem to realise that the core engine is supposed to be a general purpose platform, almost like an operating system - it needs to be very well documented, and it absolutely can't have any code in it that is specific to one of the applications that runs on it. If you open source it and give it its own website and code repo, your developers will finally understand what it is, and stop dumping application specific code into it when then need to implement a new application-level feature. This will save you time because you won't have to be constantly refactoring application code out of the platform."

Also, "open source is cool, and having an open source product will make it easier hiring new developers" seemed to go down well.

Maintenance costs (1)

MtHuurne (602934) | about 2 years ago | (#41678777)

I worked on a closed-source product once where one of the customers wanted to pay for a new feature to be developed, but under the condition that it would be included in the main product and not developed as a customer-specific extension. The reason was that they wanted to make sure the feature would be maintained and that the maintenance would be included in the base license costs.

Opening the source could be part of an effort to reduce future maintenance costs, so that would be a way you could sell the idea to your customers. That would obligate you to actually use the same code for multiple customers as much as possible, of course.

In terms of who pays for the hours spent generalizing the code, I don't think it's fair to charge the first customer for this. Either increase your hourly rate and do it in your own time, as one of the other posters suggested, or charge the subsequent customers for it, since they will be the ones benefiting from the fact that the first allowed the source to be opened. Besides, generalizing code while you only have a single customer often leads to bad design decisions since you'll have to make assumptions about the requirements of other customers without having talked to those customers yet.

A: You don't (0)

Anonymous Coward | about 2 years ago | (#41678779)

This is a core problem with open source.

- Customers see no value in your work, so you either force a revenue stream with subscription or ads
- You make your customers see value in your work by placing a budget. eg "next feature update at 500$" and keep
raising the bar until you're in a comfortable position. I've seen this work for games and some useful apps, but probably only works for established content.
- You make no commitment or support except to paying customers (a la mysql, redhat, etc)

To take a page from the art/comics community (which has the same problem)
- Put your content online for free at legible resolution/ad-supported
- Put your content into print if there is enough demand
- Sell Merchandise (tshirts and hats) for those who want to support your artwork.

A lot of the time, the reason people aren't making money off of their open-source content is because they're too ingrained in the GPL mindset as opposed to the BSD minset.

GPL = more or less source code communism, by which anyone can fork your project and make a better one, and then turn around and demand your improvements be shared. Nobody gets a chance to monopolize it (see Oracle buying MySQL or OpenOffice)

BSD = more closer to public domain with some copyright attached, by which anyone can fork the project and make a better one without sharing improvements. So this is more "Captialism" in nature of taking a public resource and commercializing it.

From a political standpoint, if you want to be open source, and never charge for source code or binaries, that's great, because it drives adoption of your software. But the pitfalls (especially for games) is that something better always comes along.

Like what I want to see is someone do an open-source MMORPG. It has all the right opportunities to monetize and get improvements made by the community who plays it, and I'm not talking about Second Life or Minecraft. I'm talking about a game that the actual game mechanics, storyline and assets can be created by the users.

Re:A: You don't (2)

Chrisq (894406) | about 2 years ago | (#41678831)

A lot of the time, the reason people aren't making money off of their open-source content is because they're too ingrained in the GPL mindset as opposed to the BSD minset.

The GPL license works better for commercial dual licencing. Release something under BSD and people can use it for commercial purposes for free. Under GPL if they want to incorporate it into a commercial system they can't - that's where you offer a commercial "paid for" license.

Re:A: You don't (1)

Anonymous Coward | about 2 years ago | (#41679111)

BSD = more closer to public domain with some copyright attached, by which anyone can fork the project and make a better one without sharing improvements. So this is more "Captialism" in nature of taking a public resource and commercializing it.

This Captialism where you steal public resources may be quite common, but I still prefer Capitalism where your profit is based on exploiting your own property and fair use of public property.

Smarter way to get paid (1)

minutetraders (1903044) | about 2 years ago | (#41678829)

Open Sourcing & getting paid are not incompatible. In general developers are very bad at marketing their open source software - poor website design, very technical explanations (if any) .. remember people who are NOT going to pay for your software are people who are probably as skilled as the developer .. they won't spend any penny and can quickly figure out how to use your software. The people who might pay for your software are people who are not very tech savvy, need to solve a problem for 1/4 of the price than if they were to go with commercial software.. usually they won't mind paying for the software to be installed by expert hands and might as well buy extras from you .. just be creative as how you can make money : ongoing support, user manual, extra features (just like TV packages), value added (private) forum, and so on .. so YES it's possible to make money out of open source software, if right from the beginning you think Service, Service, Service

Re:Smarter way to get paid (0)

Anonymous Coward | about 2 years ago | (#41679507)

In general developers are very bad at marketing their open source software - poor website design

Replace "poor" with "extremely poor". I cannot count the times where I've come to the page of some Open Source software I didn't know, and the first thing I got was a news page which I had zero interest for, but absolutely no description of what the damn thing actually is. And quite often, even a short search doesn't reveal that information. Yes, probably it is written somewhere on the site, and if I looked for it long enough, I might stumble over it. But I always lose interest long before that (indeed, quite often I even omit the short search; if they can't tell me right away what their product is about, then why should I be interested in it?).

No, I can't give an example, because I quickly forget those projects and their pages. All what remains in my memory is "seen yet another project which fails at telling me what it is." However I've got an advice for any Open Source project (and actually, for any project; but for some reason Open Source projects get it wrong most often):

The main page of your web site is mostly for people who have no clue about your project.

It is there for people to learn that it exists, what it offers, and why they should care. Of course, details can be moved to (prominently linked) subpages, but the main message has to be right on the main page, at a prominent place. If you can't tell immediately from the first page what all this is about, then you could just as well have no web page at all.

Yes, that is a single, simple rule. It should be obvious. It should be easy to follow. Yet far too many projects don't. I don't understand why.

Open Source doesn't mean free, (0)

Anonymous Coward | about 2 years ago | (#41678855)

Charge them for access to the software. Open Source doesn't mean free as in beer. I can't believe that no one has mentioned this yet. Open source only means that you also give them the source if they use the software. And if you aren't charging for the application you have no responsibility to maintaining it. You can't complain about not getting your money's worth for free software without coming off with entitlement issues.

Service Offering (1)

bugg_tb (581786) | about 2 years ago | (#41678869)

I am an open source BI consultant, we use loads of different open source software when developing solutions for clients. Sadly clients don't always pay for the open source software, they believe open source is free.

That being said we also offer a piece of open source BI software, until yesterday (this is true) we were GPL based, and to be honest dealing with requests regadding embedding, in a SAAS solution, not in a SAAS solution, was a pain in the ass. So we changed it to Apache 2 now to make our lives easier. All that aside, we have found that our clients really pay for open source software when they feel they will need support, people don't like to support other peoples software, so sell support packages.

On top of support we find that people are happy to pay for extra functionality, we offer cheaper development rates for people happy to include the new feature back into the open source version, if not we charge standard consulting rates. And last but not least, clients then find we offer a wider range of Bi consulting and we gain more work from that.

So we find that offering extra services on top of the software is what makes us our money, the software itself, whilst people pay for, isn't what keeps us afloat.

Open source it the second time around (3, Insightful)

dhasenan (758719) | about 2 years ago | (#41678899)

The first time you implement something, you don't know there's a market for it. You write something that is very specific to your customer's needs.

The second time you are asked to implement it, you have a known demand, and you have a chance to resurrect the old code and make it better suited to a wider variety of uses. You can charge the second customer the amount it would take to implement from scratch, and use that time to clean up and prepare your previous work for their purpose and for general audiences.

Freelancer billing (0)

Anonymous Coward | about 2 years ago | (#41678969)

I'm astonished about this question.
Any freelancer has a per-hour price that also covers other not directly billable work, including customer acquisition, tax reports etc.
If it wouldn't be so, the freelancer work would be at loss.
Now, please explain why you can't charge a price that is sufficient to cover all your extra duties, including open-source work.

Do what I do (1)

viperidaenz (2515578) | about 2 years ago | (#41678979)

Don't open source it. All the contracts I've had specifically state the IP is owned by the company I contract to, not me. I wouldn't have the right to open source it.

Re:Do what I do (1)

Xacid (560407) | about 2 years ago | (#41679591)

Alternatively one could write up a contract that states the company is merely licensing the code and that the coder retains the rights to the original, non-company specific parts of it. The "licensing" covers the customizations and support for a given length of time (1 year?). Of course this would have to be in finely worded legalese to substantially cover your ass.

Community (1)

cowboy76Spain (815442) | about 2 years ago | (#41679001)

As other posts tell, if you want X to pay you for a work, you need to convince X that such work is interesting to him. Just saying "I want to open source it" is not going to impress anybody

An option, if the product has a functionality common enough, would be the possibility of creating a base of developers (that may add some useful functionality) and users (aka as "testers").

This can be combined with a marketing or "coolness" approach so that such company can be seen as providing something for free (don't they give free pencils?).

Make it part of your build cycle (0)

Anonymous Coward | about 2 years ago | (#41679027)

We've all had this problem. Recently, I started working for a company where, rather than using the upstream as the git base, a deployment profile was based on a make file (drupal, using drush make), which pulled in the base software, and applied various patches as required, and create the install profile from that.

As a result, the standard operating procedure when hitting a bug, or creating a feature in an upstream contrib module was to create an issue on (if one didn't already exist) and then submit a patch for said issue, which we'd then reference in our make file until it got pulled into upstream.

The result was that because this was common activity, rather than a big single event, we did it all the time. The norm was two or three line patches that fixed an annoying bug, or added a useful feature, and it helped us with keeping our installs up to date, because our modifications on top of upstream modules were cleanly seperated out.

It also helped that had a easy common way to create issues, and attach patches to them.

One way (4, Interesting)

heikkile (111814) | about 2 years ago | (#41679053)

I work for a company that does a lot of Open Source stuff. Here is how we manage it: We have core toolkits that are open source, and custom applications that are closed source, made for specific customers. When ever a customer needs new functionality, we try to generalize it and put it into the toolkits, which we then release. We tell the customer that we have this open source toolkit which we use for the project, and which we keep improving. But we don't specify how much of the work goes into the toolkit, and how much on the custom side.

Those toolkits have been our main marketing effort, and have certainly paid off. Within our very narrow field we are world famous, and our toolkits almost dominate the market. Nobody can afford to build a competing one, when ours is free. Although anyone may use our tools, we happen to know them best and have most experience with them, so we can often do any given job faster than others. The company has survived over a decade, and has expanded internationally, and is now all of 15 people.

Re:One way (0)

Anonymous Coward | about 2 years ago | (#41679387)

Yes. This.

Don't do it "properly" (0)

Anonymous Coward | about 2 years ago | (#41679125)

Just share it, and remove the very minimal (i.e. any hardcoded passwords/api keys you might have).

If anyone is interested on it, *they* will take the time to factor out whatever doesn't fit them. Or at least they will nag you about it, so you know which parts are more prioritary. If no one is interested on it anyway, then the project is not worth opensourcing, and you should not invest more time on it anyway.

Arguments (0)

Anonymous Coward | about 2 years ago | (#41679131)

If you think they might listen, you may try to convince them by pointing out that making parts of the system open source has a number of advantages such as free code reviewing and bug fixes by the community. Basically, you need to show them that they get a good return for their investment.

Flawed question (0)

Anonymous Coward | about 2 years ago | (#41679217)

Share code, get paid.

Sharing implies giving.

Don't sell project itself but its future (3, Insightful)

cronostitan (573676) | about 2 years ago | (#41679255)

I have been in the Open Source business for almost 10 years now and I am leading a big open source software project which is completely self-sufficient.

From my experience what you need to sell is not a 'Please open source this software because other will benefit from it' but a 'Please open source this software because YOU will profit from it - in the future'. Open sourcing a software is usually a bet on future option, like a stock option you are creating which needs constant nurturing.

Tell the customer that with a regular maintenance fee he might be able not only to help you support him (in case of problems/bugs/general support), but also will be able to extend it with possible new features with no additional costs (beyond that maintenance fee).

The 'do it for the public common good' is certainly weighing in on your suggestion but certainly a future investment and return is the key point. At least this worked for me/us. Usually if additional features happen they will be so happy and donate on top, too.

Business Reasons to opensource (1)

WombleGoneBad (2591287) | about 2 years ago | (#41679271)

The reasons to opensource in a business context are :-
  • 1) You want to use GPL or similar licensed components in your software instead of spending time and money re-inventing the wheel
  • 2) You expect the product to be adopted by other DEVELOPERS, who will work on and improve the code for free in their own interests
  • 3) If 'broad' user testing is usefull. By releasing opensource you are potentially greatly extending the userbase and by releasing early it is possible to get significant testing.

The core idea is that costs are shared by co-operation between parties who have a similar need. This is not a new concept, and has appeared and suceeded in many different forms in business. Like a 'franchise' which shares branding costs because it would be impossible to get the same level of branding on their own individual budgets. There are other reasons to opensource your code (fame, altruism, etc) but these are not very appropriate in your context.

It's All About Incentives (1)

peatbakke (52079) | about 2 years ago | (#41679409)

(background: I've been freelancing for about twelve years, with several engagements that have resulted in open source contributions)

If you're freelancing, the general rule is that the customer owns everything you produce within the scope of the contract. This means you do not own the copyright, and therefore you can't open source the code. The specific phrase you look for in your contracts is "work for hire" ... and although IANAL, I believe this is the implicit legal relationship when someone pays you to produce something.

It's very difficult to get around that rule, or to outline specific exceptions ahead of time -- but you can change the incentives to encourage your client to contribute code to the open source community.

I offer to reduce my rates for any work we mutually agree to release as open source. I benefit by getting my name and work in broader distribution, my clients benefit by paying less for the work, and the open source world grows a little bit. It's a reasonable trade off for all parties, and even if most clients don't exercise that option, they appreciate the spirit of such an offer.

Where it gets hairy is when you're making changes to code that has been open sourced under a "viral" license, like the GPL. If that is the case, then you should inform your client that they are bound by the terms of that license -- that those changes *necessarily* become open source. Keep a copy of those emails. If your client decides that they're going to skip out on that obligation, you'll want to make sure your ass is covered if/when your client gets in trouble ...

Show them the difference. (0)

Anonymous Coward | about 2 years ago | (#41679535)

Closed source: they have to buy in someone to fix it or improve it. They make no money from it being closed.
Open source: they potentially get free fixes. They make no money from it being opened.

Additionally, since it is opened source by an independent contractor, there is no reasonable trait of ownership of the code by the company. If there is any complaing about patent or copyright infringement, they are not the owner of the code and are not responsible for the complaints redress.

There's no need for it to be closed source.

Meh (1)

fisted (2295862) | about 2 years ago | (#41679549)

Get your Boss's permission and Open Source it in your spare time. Jesus, it works like this in the Open Source world.

The same way I get free tools.... (1)

Lumpy (12016) | about 2 years ago | (#41679639)

Roll the cost into the project. If I need a new Hot Air Rework station I add the cost of that to the next project that needs one. So that $22,500.00 job becomes $25,500.00 The customer still buys it and I get a nice shiny new Tool.

All businesses do this, Why is this not understood by freelance programmers?

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?