Slashdot Mirror


How to "Open Source" Custom, Contract Software?

customWorks asks: "I've been approached to write a piece of custom software for a small business owner with the promise of autonomy in its design and implementation. I do not intend to stick around for incremental development after I've delivered it, and so I feel strongly that open sourcing the software would be prudent for the both myself and prospective client. That said, I still expect to be paid for the developing the software. The issue of course is over convincing the client of the benefit of giving away the source to something they've just paid to have developed. I'd like to know if any of you who've done similar contract work have had experience (success?) in presenting an argument for open sourcing the end product? What were the major concerns/misperceptions that you had to overcome in making the case for open source?"

39 of 372 comments (clear)

  1. Just make sure you own the IP by rfreynol · · Score: 5, Informative

    In any contract work I have ever done, I have made sure that I own the copyright, and give the client a perpetual license for the resulting programs.

    If the customer insists on owning the IP, then there is a great reason to raise your rates.

  2. The client should own the code by techmuse · · Score: 4, Interesting

    The client is paying you for your time in developing an application. For that money, they should get at least:

    1) The binaries
    2) documentation
    3) support

    If you can't give them support, the ethical thing
    to do would be to let them know, and give them the
    source code so that they can have someone else
    maintain it. But THEY should choose whether to
    open source the code or not. They paid for it. It's their decision, not yours.

    1. Re:The client should own the code by Bradmont · · Score: 5, Insightful

      I disagree with this. It depends entirely on the contract he makes with the client at the project's inception. If the agreement is that he supplies neither source code nor support, that's the ethical result. After all, I have no right to that copy of windows that came with my computer -- the license says so, even though I (indrectly) paid for microsoft to make it. Yes, contract work is a somewhat different situation, but the same principal applies. If he can convince the client to let him put it under some Free license, there's nothing unethical about that, and more power to him.

      As a side note, putting it under a Free license (GPL, BSDL, whatever) doesn't necessarily mean he's going to release the source to the general public, or even at all. With the GPL, he only has to give the source to anyone to whom he supplies the binaries.

  3. Open sourcing it buys the client and yourself nada by Anonymous Coward · · Score: 5, Insightful

    You'd do better to leave them well commented code with a few backups. Leaving it up to the OSS community and expecting them to produce something useful to your client (i.e. you're getting paid to serve them, not the OSS community) is a gamble at best. Not a dig on them, they're just not looking out for your client.

    So lots of comments and documentation are what you would produce if you truly have your client's best interests at heart.

  4. Just give him the source by nagora · · Score: 3, Insightful
    If he's paying you to produce the work then just do it and assign the copyright to him, i.e., sell the source. He gets the program and the material needed to hire someone else to maintain and upgrade it; you get paid and don't have to come back to work on it in a year or two when he needs more functions etc.

    TWW

    --
    "Encyclopedia" is to "Wikipedia" what "Library" is to "Some people at a bus stop"
  5. major concern by banks · · Score: 4, Insightful

    i've never coded a piece of software in my life, let alone opensourced one, but i can tell you right now the single major objection or concern you will face.

    The dialouge will go something like this:

    Coder: Let's open source this after you pay me to write it.

    Buyer: Wait. So once we pay you to produce this for us, you want us to let you open source it, in effect giving it away for free?

    Coder: Yeah. It's neat. Information wants to be free.

    Buyer: But you want to be paid.

    Coder: Yeah, I gots ta get paid.

    Buyer: They don't require computer science majors to take economics, do they?

    Seriously here. A buyer who is paying to get a custom piece of software made for them will be very very reluctant to let the rest of the world have that software for free once they have it. Especially if they have competitors. Especially if that software is mission critical at all.

    In summary, best of luck. But perhaps opensource idealism should get a bit more used to taking a back seat to harsh economic reality.

    *ends post, dons flame proof suit*

    --
    --Use this space for notes--
    1. Re:major concern by singularity · · Score: 3, Insightful

      You forgot one line in there:

      Buyer: But that means that I will pay you for a product that all of my competitors will get for free. They also get all the advantages I do, including other people improving the code. They get that for free, as well.

      Buyer: Why do I not just wait for them to contact you to write an open source solution and then use what you write for free?

      --
      - (c) 2018 Hank Zimmerman
  6. Open Source Policies by Bouncings · · Score: 3, Informative

    I've done only very limited contract work and at that, it wasn't Open Source. I think it really depends on the client, as the people I was working with hired me specifically because they were a Windows firm and didn't want to bother themselves with some Unix stuff that came their way from an existing client. For them, of course, it would have been impossible. But I can speak in regard to how some companies would react in general.

    If you're working with a firm that's more familiar with the a community or is part of a larger scientific community, it's another matter. Some firms view releasing open source software as almost a promotional effort and you might egg them to develop an "open source policy" to satify their concerns.

    Board of director types have bazaar stigmas and FUD like "won't we have to support it," "won't it give away our business model," and so on. You can address those questions by suggested an OSS policy. The policy basically comes down to how and when they'll open source software. For example, they won't open source software that would be directly useful to their compeditors. When they do, putting the employee email addresses won't be allowed, as it will burden them with emails. Open Source projects shall be included on another website, etc etc etc.

    But they will be more warm to a policy than simply deciding to open source things adhoc -- so if you give them a policy to address their concerns, you might have better luck.

    And of course if your Philip Greenspun good, you can TELL them it'll be Open Source. :)

    2 cents.

    --
    -- Ken Kinder ken@_nospam_kenkinder.com http://kenkinder.com/
  7. Don't reveal your client's identity by Col.+Panic · · Score: 5, Funny

    and make sure your source doesn't either in case it should reveal "interesting" information about their systems, environment, transactions, etc.

    If I were paying someone to write code for my business I would want it as customized to my needs as possible while making it modular for further enhancement. What I would not want is for the entire open source community to know what network OS, database version, hardware, etc. I am using since that would reveal too much useful information to potential intruders.

    1. Re:Don't reveal your client's identity by karlm · · Score: 3, Insightful
      Somoene motivated enough to dig through sourc code to figure out your database vendor and version, etc., is also dedicated enough to use other profiling techniques. In the end, you're going to spend more time than it's worth trying to hide your database version. Anyone going after your source code is speciffically tageting your company. If looking though the source code is the easiest way for them to get that info, you're putting too much hard work into hiding that info.

      Here's the easiest way to put the argument: sure it's harder for the attacker, but it's like using a Kryptonite lock and duct tape to attach your bike to the bike rack. Sure it's more secure, but not worth the effort. If you think you need the duct tape, maybe you should lock your bike in a better neighborhood and spend your time walking an extra 4 bocks or something instead of spending that same ammount of time attaching and cutting duct tape. In the same way, you should spend your time properly securing and maintaining all of your boxes, setting up proper cryptography, and enforcing strong passwords with proper limits on lifetimes. Try getting help setting up a firewall from MIT Network Security and they'll tell you to set up cron jobs to port scan your boxes and vulnerability scan your boxes instead. It's a bit extreme to discourage the use of firewalls, but I can definately see where thy're comming from. Just like Morris discouraging shadowed password files. md5 passwords and strongly enforced password complexity offer MUCH better seccurity than shadowed crypt password files.

      --
      Copyright Violation:"theft, piracy"::Anti-Trust Violation:"thermonuclear price terrorism"<-Overly dramatic language.
  8. Emphasize the benefits by JanneM · · Score: 5, Insightful

    Tell them that by allow you to open-source it, they will no longer be dependent on you for maintenance; they can hire anybody to do any revisions. Remind them that without this move, the IP will still be yours and they will have to negotiate with you for improvements and further development, and that if they want the IP themselves, that will mean a cost increase for them.

    As a second, less important, benefit you can mention that there is a possibility that others will pick it up for use in their projects, and those improvements will benefit them without it costing them anything at all.

    When they ask why they should pay you to write it in the first place if you're just going to turn around and open it, point out that without a developer under contract to write it, it won't be written at all in the first place. Emphasize that the open sourcing is about the maintenance of the software after it's been written, not about a different model for the development.

    /Janne

    --
    Trust the Computer. The Computer is your friend.
    1. Re:Emphasize the benefits by stubear · · Score: 3, Informative

      I'm not sure how software code works but as a graphic designer I most certainly own the copyright to my work unless otherwise stated in the contract. Contract does not mean work for hire. If it did then the company would be responsible for paying me benefits as top of my fee.

      If I design a logo for a company I state up front in the contract what they can do with the logo. For instance if they were going to just use the logo on a web site I would charge accordingly. However, if this logo is to become the company's entire identity system I charge a dfferent, more lucrative (for me) fee. I can't turn around and sell this logo to another company but as I own the copyrights to the logo, I can include it in my portfolio without the company's approval.

  9. Are you using any GPL'd code fragments? by oneiros27 · · Score: 3, Insightful

    Depending on what you're attempting to develop, you may be able to develop the code faster using code fragments from other developers. Of course, if those bits of code were GPL'd, you'd be obligated to make your code available.

    Depending on the scale of the project, and the odds that the code segments you need already exist, you have to determine how much time savings you'd have by researching previous GPL'd projects over writing it on your own.

    Although many companies wish to retain the rights to software you write, there are very few people who don't re-use bits from project to project. [Hell, it'd be downright foolish not to use already written and tested code]. As such, on any programing project I take, although there might be an NDA, I still retain the right to re-use the code in any further projects. Otherwise, I run into the risk that my common code library will be locked down once it's in use in this project, and I'd rather not take the project.

    [even if they paid me more than my going rate, I'd be worried about using knowledge that I got from the project towards another project, and getting sued.]

    --
    Build it, and they will come^Hplain.
  10. Why is this guy hiring you? by Codex+The+Sloth · · Score: 3, Insightful

    I assume you told him the part about not supporting the software you write, correct? Open sourcing software is not the magic pixie dust you apply to a half assed job. Look through Sourceforge at all the abandoned projects -- the world is not interested in finshing the job.

    --
    I am not a number! I am a man! And don't you ... oh wait, I'm #93427. Ha ha! In your face #93428!
  11. Custom apps by frank_adrian314159 · · Score: 5, Insightful
    ... often contain proprietary business logic. The first step would be to convince me that nothing like this would leak out of the app and be used by my competitors to gain advantage.

    Next, you'd have to show me that releasing the code would not open me to any liability nor to any security breach. Saying that "more eyes see more bugs" is not an answer either, because I'd still have to pay someone to integrate fixes or, at least, re-install on my system each time an eye found a bug.

    Finally, you'd have to show me that I couldn't profitably sell this as a product - probably not a big deal, as software doesn't appear to be your customer's area of expertise, but small businesses live and die on cash flow and, if I can keep it proprietary, not do anything to support it, and still charge money for it (i.e., the Microsoft strategy :-), I'd still do it...

    --
    That is all.
  12. Re:ala Big Corporate Mofos by jarito030507 · · Score: 5, Insightful

    While this may seem like an attractive idea, the ethos of open source is the free exchange of ideas. This ideal would be damaged by tricking a company into signing a deal that would open source software which they paid for. This would not only engender a possible court battle when the company wishes to enforce its rights but would also ensure that the company would be less willing to discuss/implement open source solutions in the future. If you cannot convince a company of the benefits of open source, then you must bow to their wishes, after all, they are paying you. Just another side note, if you are a member of the ACM the kind of conduct you suggest would most likely be against the ethical guidelines.

  13. Businesses understand money by edp · · Score: 3, Interesting

    Present the potential customer a list they can choose from like this:

    • Software for XYZ and copyrights, $5000.
    • Software for XYZ and non-exclusive license, $4000.

    If they take the software with a non-exclusive license, you still own the copyright and are free to release it under GPL or whatever other terms you like.

  14. Re:and further... by jimbolaya · · Score: 3, Insightful
    Words escape me, too. What does he expect, that the "open source community" will support this proprietary application for his client? What's in it for the company or the open source developers? It's if it's a custom application, it's not likely to be of much us (as a whole) to the general public anyway. Besides, the application may, in it's business rules, contain "company secrets" or "competitive advantage." A company would be insane to pay somebody to give away the code. It's just not going to happen.

    Me thinks the guy just wanted to get on the front page of Slashdot, and he figured the phrase "open source" was a good way to do so.

    --

    There ain't no rules here; we're trying to accomplish something.

  15. It's a WHO YOU ARE question by Kagato · · Score: 4, Interesting

    I've worked for companies that have paid HP and IBM hundreds of thousands of dollars to have features placed in products. Never, ever, was there even a question who owned the source. HP and IBM.

    But I've been in this guys position. Small companies are control freaks. They aren't willing to pay the money that a larger client is, they don't understand the debug cycle, they are usually more of a hassle to deal with, and to make it that much more irriting they want to own the IP.

    Stick it to them straight. You'll provide them the solution, and the source, you own the IP and will do whatever you want. Don't be rude, but be prepared to walk.

  16. Your idea by GoRK · · Score: 3, Insightful

    I have to say one thing about your notion - If I were the company thinking about hiring you to write the software, you wouldn't be far enough along to be asking this question.

    I'd have fired you long ago because you won't continue to support your work. (Of course, writing an app so good it never NEEDS suport is another matter altogether.) It's completely ridiculous to assume that publishing the source under whatever open license will instantly give you an army of developers willing to continue to support and continue developing on the application for free.

    Normally what you'd do is write the opensource app, and then a compnay would hire you to extend and support your own application inside of their project - in that case, then you could start talking with the compnay about whether the changes would be opensourced or not. In this case, you're turning the whole thing on its head.

    Still, you may be right in that opensourcing the project would be a good idea for the company - but that is a decision that should be made INDEPENDENT of the development itself. The company should approach the decision with the assumption that the package is already developed, or even better AFTER the package IS developed. Most importantly, do not give this company any kind of false hope about what opensourcing the software will do. If you are a developer who actually runs any opensource projects, I don't really know why you would even think of recommending this so soon.

  17. Who is the customer here by gewalker · · Score: 4, Insightful

    Why do you feel compelled to persuade the customer to open source the software you intend to deliver?

    1) Moral objection -- then do or do not (sorry Yoda). You may choose to express you moral view or not to client depending on whether proseltyzing is worth the effort/benefit ratio. If you fail to persuade, do you turn down the job?, if not, see point 3

    2) Don't want to support -- then don't support, let customer know this, and why (at least if they ask). If you feel OSS makes a different in support, see point 3.

    3) Anticipated benefit to customer -- explain your view of benefit, let customer choose.

    4) Want to use exising OSS, see #3

    If all you want is additional bullet points for #3, I'm sure you'll get plenty of opinions on slashdot. But, I would recommend sticking to things I believe in and understand (preferably have experience with) when making the case for OSS.

    Hmm, point 3 seems to be pretty important. Give the customer a rational (or emotional) basis for making a decision. And let them make a decision. It's their money, their project, not yours. Of course, if its a moral issue with you, don't violate your morals. Don't come crying to anyone if you have to sacrifce though, high morality requires that you be consistent and be willing to accept the sacrifice it may involve.

    My life is complicated enough without having to convert others. Matters of religion, politics, etc. are very similar to the arguments we coders get into -- We believe strongly in what we believe, for waht we believe to be good reasons, others believe just as strongly differently. You may convince some, other's you just make mad.

    I may believe it's worth arguing religion (save their soul, or save the waste of their time/beliefe in myths, not saying which i follow). Politics -- you get morality and economics. But coding ... Sorry, I take option 3 -- I have enough hassles in my life.

  18. You definitely need to give the client the source by dustin_c1 · · Score: 3, Insightful

    Remember, open source does not necessarily mean free as in beer or free as in speech. A lot of business software licenses allow purchasers of the software access to the source code, but it strictly forbids redistribution of the code. Such a license is open source yet not free as in beer and certainly not free as in speech.

    Your best bet is to give the client the source code. You need to choose whether or not you want to retain rights to the source code, or give all rights to the client. Most contract programming jobs I've ever heard of require that the client not only gets the binaries and documentation (and sometimes training) but also the source code and complete rights to the source. That way, you don't depend on you for incrimental improvements. They can hire their own developers to do that if they have the source.

    Honestly, if this is a custom job that is likely only of interest to the client (and perhaps the client's business competition), you are ripping them off by not giving them the source. But again, it's your job to choose whether or not you want to retain the copyright to the code for yourself, or give all rights to the client.

    --



  19. Standing on the shoulders of giants by teambpsi · · Score: 5, Interesting

    The contract jobs I'm doing lately, I'm plugging in as much open source as I possibly can, and then essentially charge the client for the "glue" code that puts it all together.

    Most business problems have been "solved" in one way or another elsewhere -- extol the virtures of sourcing in something that they will be able to get support for, using the old "if i get hit by a bus" scare tactic ;)

    Otherwise, through good architecture, you can compartmentalize the proprietary bits to a few files, thus allowing them to have something of their own at the end of the day.

    And again, BE OPEN UP FRONT -- you are probably not in a position to identify on your own what the client may or may not consider proprietary -- lots of businesses have "grey-matter" or "raw experience" when it comes to processes and methods that are not obvious to their competitors.

    But basically we get a lot of mileage becase I stand on the shoulders of giants everyday!

    and remember, work = force * distance ;)

    --

    Old age and treachery almost always overcome youth and skill.
  20. Re:Bah... by mindstrm · · Score: 5, Insightful

    Really.

    This is fairly common in contracting actually.

    IN many kinds of contracting at that.

    For instance.. construction. Often when you hire someone to come in and renovate your building, they do up blueprints of the finished design.

    Generally they own these prints, not you. Sure, you were paying them along the way, but that was for labor and a result, not everything in between.

    Just the same, if you pay me to write you some software, you do not own everything I think about in the meantime by default.

    The terms of who owns what IP has to be set out in the contract, otherwise it's far too ambiguous.

    If a company comes to you with a deisgn and they just want someone to implement, odds are they aren't going to let you keep the copyright. On the other hand, if they are merely paying you to deliver a solution, then copyright can stay with you.

    It really boils down to what they want.

  21. It depends. by mindstrm · · Score: 3, Interesting

    Are they paying for him to deliver a solution, or are they paying him specifically to develop code for them. There is a difference.

    If they are paying the hourly cost of development, then it is absurd, even rude, to expect them to let you keep the copyright.

    On the other hand, if they are simply paying you a flat fee for a solution, and it is up to you how you attain that solution, then it's another story. You can write the code and license it to them and keep it yourself.

  22. Actually by Srin+Tuar · · Score: 5, Interesting
    Its pretty standard practice to keep ownership of the code you produce on contract. Typically, its so you can reuse bits for different jobs.


    You almost always give the client an Unlimited Non-Exclusive license to the stuff, but you certainly dont give away what you can sell.


    If a client adamantly wants exclusive rights to whatever you produce, then you certainly raise the rates. And if you bring any preexisting code in an the product, which you will always do, you have to be clear that they dont get exclusive rights to that as well.

    1. Re:Actually by NutscrapeSucks · · Score: 4, Informative

      I've been doing this for a while and in something like 90% of the cases the client proactively demands ownership of the code. And it's Work For Hire, so that makes sense.

      This can get tricky because you might want to use some of it for in house code libraries and the like, and in some cases they have objected to using any pre-existing code and/or using any of "their" code for future projects. Yes, this affects the price, and yes you should get a contract signed that covers all of this.

      Furthermore, there's the matter of good business sense. Even if you do own copyright, giving away what you just sold to your clients competitors doesn't sound like a good idea. It causes ill feelings when a developer is selling a app they were paid to write -- much worse if they just posted it on their website.

      --
      Whenever I hear the word 'Innovation', I reach for my pistol.
  23. What's in it for the client? by fmaxwell · · Score: 4, Insightful

    If the client agrees to make the work open source, then their competitors will be able to use it at no cost. How is that in your client's interest after they paid you to develop it?

    What makes you think that the open source community has any interest in supporting the custom application that your client is paying you to write?

    Your client will already own the code, so they can give it to whomever they want. Why would it be in their interest to obligate themselves to give it to any more people than absolutely necessary?

    I've been doing software consulting for 20+ years and, forgive me for being blunt, but you sound like some kid on one of his first consulting jobs. You seem to have this naive view that you can write code, throw it over the wall, and run. You can -- once or twice. Then the word will get around that you don't support your clients and the work will dry up.

    If you want to participate in the open source movement, do it on your own time. What you're trying to do is like someone who volunteers with Meals On Wheels and then expects to make the delivery runs while he's on the clock at his job.

  24. Sounds like by cbr372 · · Score: 3, Interesting

    you don't know the difference between contracters and employees. Generally IP to software written by salaried employees is owned by the company, but software written by contracters usually isn't, for a pretty simple reason.

    IP to software is useless to a company that isn't planning to resell or profit directly from the software. Companies that hire contracters are usually looking for specific peices of software that will perform a specialized function, so they wouldn't have much use for the software IP, only for the software itself. Perhaps some contracters do hand over the IP rights as well, but most certainly don't.

    I'm sorry, but you are trying to say that the guy doesn't know much about "real companies", when it actually seems he would be more justified in drawing that conclusion about you, if indeed your post was not a troll.

    --
    Cedric Balthazar Rotherwood
    Sun Certified Programmer for the Java Platform +
    System Admin. for Solaris
  25. Sell them your service ... by wirehead_rick · · Score: 3, Interesting

    not the code. Develop the code under GPL/Open Source. Then charge them to implement it on their system.

    Re-organize it so they are paying for your support and service while you are paying to write the program.

    Frankly that is what you are trying to do anyway. You want them to pay you for your services not for your code or you wouldn't have even considered open sourcing your SW.

    --
    -- Mean People Suck
  26. Re:Open sourcing it buys the client and yourself n by Xzzy · · Score: 5, Interesting

    > Leaving it up to the OSS community and expecting
    > them to produce something useful to your client

    There are many more reasons to open source something than to sit back and let people hack at your code while you just absorb the patches, you know.

    Sometimes the code is dead to you. But you make it available just in case someone else wants to use it. Sometimes a hack you made would serve as a great example to help teach someone else. Sometimes it tackles a problem in a totally new way that someone would just love to incorporate into their program.

    I make a habit of tarballing everything I write and tossing it up on my website. I don't clean up the code, I don't turn it into a distribution.. I just let the people have the code because it serves no purpose to let it rot on my HD. Has anyone ever sent me a thank you email? No. But watching my http logs, once in a while someone does download something, and it feels cool to know that someone somewhere might be learning something from it.

    THAT's what open source is about. ;) Letting people do whatever the heck they want with the code.

  27. So you don't want to be paid to maintain it? by ppetrakis · · Score: 3, Insightful
    It don't think anyone produces near perfect or perfect software in one development cycle. Let them know EXACTLY what they are paying for and if they want more, charge them. You're a contractor, A paid professional who's purpose is to accomplish a specific task and ONLY that task. Otherwise pay more :-). Somebody calls me for a "quick question" outside of work regarding an issue that I am working on under contract. I CHARGE THEM for my time. You bet your ass when they get the bill they wait until the next day to ask me questions :-).

    If anyone has ever had to deal with a Lawyer you know what I mean. Call the man to chit chat for 15 mins and you get a bill in the mail for his $450/hr rate divided by 4. No kidding. Why should your time be worth anything less?

    Don't give your software away and don't sign away your ideas if you can help it(i.e. IP). Every idea in your head is worth money to someone even though you may not realize it. Telling your client that you recommend giving this software away will make them feel insecure and they will also be reluctant to hire you again to maintain and extend the software. Also, If the software truly is 'unique' it is another feather in your hat that the next contracter DOESNT HAVE. Don't work yourself out of a job. Know the difference between what is work and what is your hobby.

    Regards,
    Peter

    --
    www.alphalinux.org
  28. This IS slashdot, right? by rjamestaylor · · Score: 3, Interesting
    Having determined that most of the posters to this Ask Slashdot have decided to buck the trend of mindlessly supporting Open Source philosophy by mindlessly opposing Open Source, I'd like to offer a suggestion to the Asker.

    First, base your project on an existing Open Source project. Show the client how much value s/he gets from starting with the project(s), not limited to the fact that others have reviewed the code.

    Second, once the client sees that h(i|er)s project will benefit and that the total project will cost less, explain the need for continuous updates and maintenance. Explain how costly it will be to maintain that work totally and solely in house.

    Then, propose a solution to 'leverage' the Open Source community to assist with the project by releasing the changes, with the client's approval, back to the project. Explain the benefit of many eyes and many users perfecting the codebase.

    This is exactly what I and a colleague have done with a very properietary-minded client. Now he's onboard for releasing the modifications and enhancements we will create back into the project community. Actually, he's excited to do this.

    The way to your client's heart is through the bottom line.

    --
    -- @rjamestaylor on Ello
  29. We WIN bids due to the GPL. by zulux · · Score: 3, Interesting

    All our bid specify that the cusom software is GPL'es and it's help us squish the competition after we explain the benefits to them:

    1) If we die, then they arn't left up a creek without a paddle.
    2) Their data can be easily migrated over to a new peice of software if need be.
    3) They can extend the program if they later decide that we suck.

    It wins contracts, and we don't low-ball our bids.

    Aside: Never low-ball a bid, it looks syspicious and makes the prospect nervous.

    --

    Moneyed corporations, non-working 'poor' and criminal prisoners are turning productive citizens into tax-slaves.

  30. Depends on your deal. by GiMP · · Score: 3, Interesting

    I have written software for clients, anything from simple shell scripts to large web applications.

    Typically, If I intend for the software to be OpenSource, then I only charge for the installation of the software.. and not the development of it. I will normally charge for the installation of opensource software which I did not create, why should I not charge for the installation of software which I have created?

    I have worked for some clients who have requested, at the completion of the software.. for it to become Opensource, for the sole reason that the software meets their minimum requirements.. but would like continued support after the end of my contract.

    If you have any doubts, discuss it with your employer/contractee.

  31. Recap of some of the above by Jay+Carlson · · Score: 5, Informative
    I know I'm tempting moderator retribution but let me summarize some of what I see above:
    • The contractor owns everything; customer gets license to a binary
    • The contractor owns everything; customer gets license to binaries and the source code under some circumstances (such as contractor unavailability)
    • The contractor owns everything; customer gets license to use and modify binary or source for any internal purpose
    • The contractor owns everything; customer gets an unlimited but non-exclusive rights to binary or source.
    • The contractor owns everything, but agrees on limitations on reuse or redistribution; customer gets some license from above
    • The contractor owns nothing; it's a work for hire, since the customer contracted for the work rather than a service
    • The contractor owns nothing, but the customer grants certain rights to the contractor, such as limited reuse of modules.
    • Ownership is mixed, with some parts retained by either sides.
    It sounds like what you need to do is agree with your customer what their expectation is on licensing, and get that in the contract. For example, if you own the work but agree not to disclose certain modules dealing with business process, it's clear to both sides what you can and can not disclose later. That may mean reuse on other contracts, provision to their competitors, or release to the general public.

    In general, the more restrictive the customer rights to work performed, the higher the rates.

  32. I've done this by Simon+Brooke · · Score: 3, Interesting

    The last several big jobs I've done, I've agreed in advance with the customer that the software produced would be released under my copyright under BSD license. I've had no trouble getting big corporate customers to agree to this. The next negotiation, I shall try to get them to agree to GPL. It has some benefits for the customer: it guarantees that they have access to the codebase in perpetuity, whatever happens to me.

    --
    I'm old enough to remember when discussions on Slashdot were well informed.
  33. Open Source in Two Years Clause. by foniksonik · · Score: 3, Insightful

    Compromise.

    The client gets exclusive rights to the software for two years at which point the software becomes open source. This would manifest in the form of a clause in the contract stating such.

    This would give the client room to breathe against competitors or enemies seeking to compromise their software, gain from their expense, etc. while still allowing for the continuation of the code in the open community. If the code is interesting enough to still be viable in two years then it will persist.

    This is very similar to having someone license technology but instead of losing their rights to the tech they merely have to share with everyone else, though not any additional modifications they have made to the code in the meanwhile.

    This would also mean that the code would have to be put into escrow in order to meet the requirements of the contract for both parties and as an insurance measure for both parties.' Escrow 'meaning that a 3rd party would have a copy of the original code and would release it into open source according to the contract despite any intentions of the two parties otherwise.

    Seems like a lot of effort but if you think your code is important enough to the community at large then this would be worthwhile because of the checks and balances it imposes. The client would of course pay for everything.

    --
    A fool throws a stone into a well and a thousand sages can not remove it.
  34. No Benefits to OSS'ing this - Even ESR Says So by dbretton · · Score: 3, Interesting

    In The Cathedral and the Bazaar, Raymond mentions a case where he spoke with a small company about some peculiar software they used for their product.
    The company asked him if OSS'ing their software would be beneficial. His reply was "no", since the software had a somewhat limited application outside the context of this company.

    The situation cited in the article sounds similar to the one ESR mentions, so I would have to say "Nay" here.

    -PS. The story was in his book, The Cathedral and the Bazaar, so I am not certain if it exists in the online white paper of the same name.