Follow Slashdot stories on Twitter


Forgot your password?
Open Source Software The Almighty Buck

Ask Slashdot: How To Get Paid For Open-Sourcing Your Work? 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?"
This discussion has been archived. No new comments can be posted.

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

Comments Filter:
  • by dbIII ( 701233 ) on Wednesday October 17, 2012 @02:15AM (#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.
    • by Taco Cowboy ( 5327 ) on Wednesday October 17, 2012 @02:26AM (#41678555) Journal []

      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.

      • by hughbar ( 579555 ) on Wednesday October 17, 2012 @03:18AM (#41678751) Homepage
        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.
      • by Anonymous Coward

        *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.

        • Basically whether you're doing "work for hire" or working independently. If independently, you could have a clause saying that anything you write independently is licensed by default under the GPL, with a dual license giving the company non-exclusive rights to use/modify/distribute.

          If they want exclusive rights, they get charged more because it means you can't reuse that stuff later (and you can't reuse stuff from previous jobs).

    • by beelsebob ( 529313 ) on Wednesday October 17, 2012 @03:34AM (#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.

      • by icebraining ( 1313345 ) on Wednesday October 17, 2012 @05:51AM (#41679295) Homepage

        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.

        • by chrismcb ( 983081 ) on Wednesday October 17, 2012 @06:49AM (#41679473) Homepage

          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.

          • If the code is useful enough to enough people, there's a chance a large corporation will buy it from you. A lot of OS is actually written with this as the unstated goal. It certainly happened to MySQL. There are many other examples.

            That is one way to make money off open source.

            I read (sorry can't find it) an interesting article that made the point that non-sopftware companies (hardware manufacturers, service sellers) support OS projects because they want software to be free and lower the TCO of that O

        • Sure you can refuse to work with clients. But is Open Source really that important to you?

          I prefer to get my paycheck, I get my pay check from working with my clients (and the more clients I can handle more I can often make), I am not opposed to open source, however there are other things in my life I consider more important. Like keeping up with my bills. If they want to release it Open Source I am good with that, I can do the extra work to make sure that everything is GNU pure, I may even express to th

          • Did you read my whole post, or did you stop at the first period?

            The reason the company I work for is competitive and has clients is because we're open source, not despite it. When our proprietary competitors have to charge an arm and a leg for making a lot from scratch, we're able to benefit from a big open source community an deliver better tested software in less time and for less money. And then we contribute back new modules, as well as bug fixes, translations, etc.

      • 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

    • 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 tha

      • 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.

    • 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.

  • 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 sourc

    • by slashping ( 2674483 ) on Wednesday October 17, 2012 @02:48AM (#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 ?
    • 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...
    • 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?
    • 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 TheRaven64 ( 641858 ) on Wednesday October 17, 2012 @04:04AM (#41678909) Journal

      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.

    • 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.

      • Don't discount, and I'd nearly go so far as to say, ever. It makes you look cheap.

        The moment you offer a discount is the moment when they start thinking they aren't getting a good enough deal and they'll screw you more or they'll resent it.

        The only possible exception is if your contracting and someone is buying hundreds and hundreds of hours of your time, at that point, you don't have to worry about dead time so much (You should have this factored into your hourly / daily rate) and you can take that out.

    • 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.

    • Sorry, you don't know what you are talking about. I've worked on open source software for over 10 years, and our customers pay us _because_ our software is open source.

      They don't want vendor lockin that makes their system useless if we went out if business or decided to stop developing the product they are using.

      We also get some contributions from non-company developers, both bug fixes and features. Not a ton but it helps the users in areas that we are not focussing development, and in turn helps us move in

    • Mostly people want a problem solved, are paying you for that, and don't paticularly care about what happens with the software you use to solve it.
      People don't care if the details of for instance a database backend or something to deal with forms or whatever stay secret or not, they only care that the data in their database or their custom forms (or whatever) stay secret.
      Very few places are in the business of selling software so most places really get no direct value out of stopping you from reusing what you
  • by Anonymous Coward

    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.

    • Here's what I do:

      Customer: We have the following requirements for this project.

      Me: Oh, looks like I can cut your cost a bit if I use some open source software to save me some time. You would get the work done, but the source code would then become open source for everyone to use.

      Customer: How much of a discount are we talking?


      Customer: How can you bid so low?

      Me: Oh, I'm charging my normal rate, not having to write the functionality of the

    • Wanna live of making opensource? Start working for a mega corp or a university.

      Kinda true.

  • by KalvinB ( 205500 )

    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.

    • by micheas ( 231635 )

      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: (Score:2, Insightful)

        by Anonymous Coward

        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.

        • by TheLink ( 130905 )

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

          Check out wedding photographers in some countries.

        • by micheas ( 231635 )

          It is important for the contractor to realize that the default is that the contractor owns the code. This means that if you don't own the code, you should be compensated for not owning it.

          They don't own the code for Windows, Microsoft Office, the Oracle Database, or most of the rest of what they use. In my experience not giving up copyright typically just means crossing out that section of the contract and asking that it be negotiated separately.

      • 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.
        • by micheas ( 231635 )

          In the US hire means a w-2 and unemployment benefits. If you don' t have those, you are probably a contractor not an employee.

          Works for hire only covers employees not contractors. If you commission a painting you won't have copyright of the painting, unless you specify so in the commissioning documents.

          IINAL, but it was well worth the day I spent listening to lawyers talk about this..

    • 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.
  • by Anonymous Coward

    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

    • 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.
  • by FranTaylor ( 164577 ) on Wednesday October 17, 2012 @02:41AM (#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.

  • by Frans Faase ( 648933 ) on Wednesday October 17, 2012 @02:44AM (#41678611) Homepage
    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.
  • 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 beg
  • by JonToycrafter ( 210501 ) on Wednesday October 17, 2012 @02:53AM (#41678637) Homepage Journal

    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.

  • by Yaur ( 1069446 ) on Wednesday October 17, 2012 @02:53AM (#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.
    • by Jim Hall ( 2985 )

      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?

      While I always like to see people contribute their open source work such (bug fixes, enhancements) back to the community, it's important to realize this is not strictly required except for only a few licenses. With most licenses, you only need to provide a copy of the source code when you distribute the binary.

      So a better way to market this might be "If we make changes to open source project X, you'll get a copy of the source code and our changes. You can use that to make changes on your own later - or hire

  • 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, and the only reason such a question can be asked is being a part in a propaganda campaign against open source software.

  • by bigHairyDog ( 686475 ) on Wednesday October 17, 2012 @03:25AM (#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.

  • 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 ide

  • 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 th
  • 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
  • by dhasenan ( 758719 ) on Wednesday October 17, 2012 @04:00AM (#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.

    • The third time you design an XML format and a custom scripting language to make it do everything from controlling a nuclear reactor to transcoding .flv files. You know, just in case.

      You never reach the fourth time, life expectancy being what it is.

  • 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.
    • by Xacid ( 560407 )

      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.

      • Sure, but I'd rather get work than get laughed at.
        • by Xacid ( 560407 )

          Depends on the nature of the business. I'd operate as an LLC at least and market myself as a business, not an individual. When a company is seeking out business from you and not the other way around you're the one who can initiate the legalese. Also, a lot of small businesses would likely be fine with this as long as they get some "discount" and a working product. For those who don't want those terms charge some fee (be reasonable, of course). Sure you may not be able to open source every gig but you'll lik

          • I do operate as an LLC, I just don't go after small companies. Large companies and government departments pay more and dominate the market. They generally have standard contacts and if you don't like it, they'll just get someone else.

            I'm not a sales person, so although it would be fun to build solutions and sell them as a product, I don't have a sales team to sell anything. I don't have a marketing team to get the word out. I have a family to provide for.
            • by Xacid ( 560407 )

              Just a different business model of course. But would you be going after the large fish and trying to open source your stuff? Probably not. I guess the OP just needs to figure out what's more important to them.

              And +1 for actual civil conversation on the internet. Where's the AC to ruin everything? :)

              • And +1 for actual civil conversation on the internet. Where's the AC to ruin everything? :)

                Sorry, I ran out of expletives for the day wrangling with svn.

  • 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 t

  • One way (Score:5, Interesting)

    by heikkile ( 111814 ) on Wednesday October 17, 2012 @04:48AM (#41679053) Homepage

    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.

  • by cronostitan ( 573676 ) on Wednesday October 17, 2012 @05:39AM (#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.

    • I'm also a 10+ year open source company veteran, and we have survived 1/2 on customers paying us for feature development, and 1/2 on ongoing maintenance and support in production environments.

      The one thing that I think is the linchpin in _customer_ value is that there is no vendor lockin on their part. If our company were to go bankrupt or become money grubbing idiots, then they are free to go their merry way an continue I use our software without any license or support from us. They can hire someone else t

  • 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

  • (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 p

    • In the case of a contractor or a comissioned work (in the US), a work qualifies as a work for hire only if all the following 3 conditions are met:

      1. The work must be specially ordered or commissioned
      2. The work must fall under one of 9 categories defined by 17 U.S.C. 101: contribution to a collective work, translation, supplementary work, compilation, instructional text, test, answer material for a test, atlas, or part of a motion picture or audiovisual work.
      3. There must be a written agreement between the

      • Thanks for the breakdown on work for hire -- and I 100% agree, regarding hiring a lawyer to look at contracts. :)

  • by fisted ( 2295862 )
    Get your Boss's permission and Open Source it in your spare time. Jesus, it works like this in the Open Source world.
  • 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?

  • There's a shop I used to work at in the past that did kernel ports to custom architectures, custom drivers, etc.

    Now, you could pay us to do the work and keep it in-house... and when a new upstream kernel version came out, you could pay us to do it again.

    Or, you could pay us to do the work, and pay us to do the extra work of getting it upstream once... and not have to pay for ports to every new upstream release.

    We didn't have to try very hard to sell the second option.

  • My standard contract has a brief paragraph explaining the open source ecosystem, how we could start each code block from scratch instead at much greater cost but we'll use open source whenever possible to improve cost, time, and quality, and stating that software modifications tangential to the core business of the client will be fed back upstream, unless the client requests otherwise.

    Deal with the issue once.

  • Increase your rates by 25%, and then offer to take 20% off your rate if they allow you to open-source the solution. Existing customers may complain a bit, but new customers who didn't know what your rate was anyway, will think you are offering them a deal.
  • You make a library of funcitons on your own responsibility, which itselfs forms not a complete product, open source it,get more efficient in composing your products. Your customers will not care very much about it (they want that you do the job, fast) and you can complete more projects by using the shared code. With a little luck, people will start to contribute to the library and there will be a synergy.

    That is how i understand most open source projects works: provide the building block open/free (on your

Always leave room to add an explanation if it doesn't work out.