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?"

145 of 372 comments (clear)

  1. Viral Nature by Fat+Casper · · Score: 2, Funny
    If you GPL it, it'll have a virus in it. That's what the Microsoft people said. I don't want a virus on my computer, so forget it.

    --
    I spent a year in Iraq looking for WMD and all I found was this lousy sig.
    1. Re:Viral Nature by Fat+Casper · · Score: 2
      Hey, Minesweeper is a great game. It's about the only one that doesn't crash Windows. If only because of that, it's great.

      --
      I spent a year in Iraq looking for WMD and all I found was this lousy sig.
  2. 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.

  3. and further... by Graspee_Leemoor · · Score: 2

    And of course the whole wanting the end result to be open-source but you getting paid your fee is so totally a "have your cake and eat it" situation, that words escape me...

    graspee

    1. Re:and further... by kolevam · · Score: 2, Interesting

      The actual labor required to develop something GPL'ed doesn't have to be free! Does it?

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

    3. Re:and further... by homer_ca · · Score: 2, Interesting

      A common practice in industry is to keep source code of custom apps in escrow, with the understanding that if the original developers go out of business or stop supporting their software, the source code is released to the customer.

    4. Re:and further... by SanGrail · · Score: 2, Insightful

      Why would the Open Source community be into it?
      If it's useful, and people hear about it, they'll use it.
      And since he's doing it for a client, it's got a headstart in that he will actually produce a working model, rather than one of those projects that never even gets to a beta version.

      Why would the company open source it?
      First, they need the product. They need a working tool, and it's not something that is currently available (to their knowledge). So they are going to develop it, regardless of Open Source support to begin with.

      But, that's all they need. It's internal, so they aren't going to sell it to anyone else. They wouldn't be losing any income.

      It will need maintenance. It may need small, ongoing maintenance forever - somethings are like that. It sounds like original developer may not be available.

      If they opensource the product when it's been developed, they haven't lost anything, they still have the tool they wanted.
      Meanwhile, on the principle maintenance costs just keep accumulating, and can add up to more than the cost of the original product over time (depends what it is of course), if it goes opensource, the maintenance costs get taken on by the other users as well.
      The company benefits from any improvement or maintenance that other users make to the product, with no extra cost to them.

      --
      ---- I've fallen, and I can't get up.
  4. 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.

    2. Re:The client should own the code by geekoid · · Score: 2

      actually, it depends on the contract. If it doesn't say source code to be included, then it doesn't have to be. Pretty much like any 3rd party vendor.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    3. Re:The client should own the code by Tony-A · · Score: 2

      If you can't give them support, the ethical thing to do would be to ... give them the source code
      And if you do give them support it makes it so much easier if the client already has the code.

    4. Re:The client should own the code by cyber_spaz · · Score: 2, Insightful

      The client is paying you for your time in developing an application.


      Not always. In my experience, there are several types of customers for contract programming:

      one who wants a tool

      one who wants a new product

      Those interested in a tool aren't normally interested in the source code, other than as a form of support. Normally, they're not paying you for your time or for ownership of the source code. They want a tool to do a job and are willing to pay for it.

      Many of them know enough to ask for the source code so they can get bugfixes if you happen to be run over by a doughnut wagon. Even in this case they usually don't want ownership of the source code--they just want a license to it.

      Normally the people who want you to create (part of) a product are the ones who want you to relenquish the rights to the code. If so, make sure you charge them accordingly. After all, for my customers who buy a tool, I can use significant chunks of code I've used in many other projects. I can't use my subroutines for customers wanting exclusive rights, so not only do they pay for the extra time in reinventing wheels (or the purchase of third-party libraries to do tasks), they also get to pay for the exclusivity.

      As an (admittedly ridiculous) example, suppose a secretary wanted a word processing program, but no word processing software exists yet. She could pay you to write one for her. She doesn't really want to sell word processors or anything, she just wants one to help her business. You could write one for her, and she could write you a check.


      For that money, they should get at least:

      1) The binaries
      2) documentation
      3) support


      No argument there...


      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.

      Giving them support can come in many forms, one of which is making available the source code so they can get someone to fix it if you're unavailable.

      But THEY should choose whether to open source the code or not. They paid for it. It's their decision, not yours.


      cyber_spaz

      --
      "Time flies like an arrow, fruit flies like a banana" --Karl or Groucho, I forget...
    5. Re:The client should own the code by Da+Schmiz · · Score: 2
      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.
      Thank you.

      This is the single most insightful comment made in this entire thread.

      Why does everyone think that just because the software in question is GPL'd that therefore everyone in the world will have access to it? In the traditional closed-source model, two parties have access to the source: the contractor (programmer) and the buyer. The contractor licenses the binaries to the buyer under non-exclusive terms -- meaning that he can later turn around and sell the same code to a competitor if he so wishes.

      If the contractor GPLs the code, then he's required to provide the buyer a written offer for the source code, free of charge. This isn't a big deal, since the buyer ought to have access to the code anyway. The contractor is also required to provide a similar offer to anyone else to whom he supplies the binaries. Just as in the closed-source model, the contractor can distribute the program to whomever he wants! The buyer only has a non-exclusive license to the program.

      As long as the buyer doesn't expect to own the code, there's really no difference from their point of view. They have to trust the contractor, or else make the terms of his contract such that he cannot supply copies of this program to their direct competitors. IANAL, but I don't believe terms like that would preclude licensing the program under the GPL.

      Of course, depending on the type of project in question, GPL may be impractical for other reasons. Especially if the design of the software would include, for instance, trade secrets or other information (like APIs or other interface specs that are internal and proprietary to the buyer's company), it may be better to opensource the majority of the program under the LGPL and then use a closed-source link between them. Or it may be better to simply keep the entire program closed.

      But the program certainly shouldn't be closed source simply because someone thinks "open source means this will help our competitors". That's misleading at best and flat-out wrong at worst.

      --

      "Anything is better than IE, and you can quote me on that." -- Wil Wheaton.

    6. Re:The client should own the code by uebernewby · · Score: 2

      If the contractor GPLs the code, then he's required to provide the buyer a written offer for the source code, free of charge. This isn't a big deal, since the buyer ought to have access to the code anyway.

      *If* what you say is true, then what would be the point of GPL-ing it? The customer, after all, has access to/owns (according to your statement) the source code anyway, so should the original developer be unavailable, they can take it to whomever they want to after they've 'bought' it anyways.

      That said, I doubt if what you're saying is true. I know for a fact that the company I worked at a few years back developed custom applications for clients, but to the best of my knowledge these customers were never provided with the source (which would've been useless to them anyways), just with a (hopefully) working binary. Now this was in the Netherlands (yes, the country where fanatic lefties shoot insane right-wingers, yadda-yadda) and things may be different in the US or wherever you're from, but if they are in this respect, I really can't see why.

      --

      News and bla for computer musicians: http://lomechanik.net/
    7. Re:The client should own the code by Bronster · · Score: 2

      As long as the buyer doesn't expect to own the code, there's really no difference from their point of view. They have to trust the contractor, or else make the terms of his contract such that he cannot supply copies of this program to their direct competitors. IANAL, but I don't believe terms like that would preclude licensing the program under the GPL.

      No, but the first person the contractor did supply the program to could immediately turn around and give/sell it to the competitors. You can't pass additional strings along.

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

  6. 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"
    1. Re:Just give him the source by EllisDees · · Score: 2

      Well, that totally depends on the agreement they worked out beforehand. If the client wants it bad enough, you can usually convince them to do anything - unless they are trying to sell the code, of course.

      --
      -- Give me ambiguity or give me something else!
  7. ala Big Corporate Mofos by SpamJunkie · · Score: 2, Interesting

    In this case, you could make open sourcing the program part of the development contract. Just squeeze it in there inconspicuously. Much like so many EULA's we've seen.

    Or say that the custom app will be based on your own technologies so that you can open source say the main engine, and not give out proprietary stuff, such as database data.

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

  8. its not by geekoid · · Score: 2

    that great of a thing unless other people find the project interesting. It will loose any resale value, so if its something they'd like to sell, they could only make money as support.

    OTOH, ih its something people will enjoy enhancing, then they get value from free enhancments.

    Explain to the the philosophical reason for opening source. Or just GPL it.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  9. Depends what exactly you have been paid for by TicTacTux · · Score: 2, Insightful
    If you were paid for your *time* developing some solution, this piece of code/intellectual property still belongs to you. This would entitle you to do with that code whatever you want.

    If the contract with the client states that all the IP you create belongs to the customer for whatever he wanted to do with it, then there's little point forcing the customer to do something specific with it.

    Either way, the customer will face the problem of later support and evolution. If he cannot get hands on you, he either has to hire someone for hard bucks, or he donates the stuff to the public and crosses his fingers that someone will take care of it. Which does not necessarily mean the necessary work is done then - this depends on how 'hot' that piece of software actually is. You might have problems making some 08-15 applet Open Source in the hope of getting volunteers.

    --Ben

    --
    Use The Source, Luke!
  10. 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 fferreres · · Score: 2

      Ok, here is the alternate dialogue where the educated Buyer is also required to take economics.

      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. So that if other people find it usefull and make it better, we can benefit from it.
      Buyer: But you want to be paid.
      Coder: Yeah, I gots ta get paid. But if you closed source it, you will have to pay me forever, and if someone else puts more money than you, you'll be damned. For nobody will help you out and you'll be on your own. And even if you start to depend on this someone, it will always be for the price they ask. So your "competitive edge" either costs you a lot, reducing the incentive, or it is avalilable to everyone else, same result as making it free. The difference is now you don't own the product, you can't make it better and you can't even modify it if you even want to add some speacial feature for use within your company (that GLP explicitly allows).
      Buyer: Mhhh, then did computer science majors start including economics course?

      --
      unfinished: (adj.)
    2. Re:major concern by tclark · · Score: 2, Insightful

      There is a big mix up here. "Open source" does not mean "give away the code for free". It means that when you give (sell) the clients their license, you give them the source code, and the permission to use, modify, and redistribute the code as they please.

      How is that not a great deal for the client?

    3. Re:major concern by peter+hoffman · · Score: 2

      When I worked for ICL we often had one customer pay for development that later benefitted other customers.

      There were features we weren't interested in adding to our base product but we would add them if a customer would pay for that development. Once the feature had been added to the base product the benefit was available to all our customers.

      Also, customers did not receive the source code to our modifications (the code they paid would have done them no good without the rest of the code). The product was ours and if they wanted to pay for an enhancement that was fine but the product remained 100% ours.

      By the way, the customers were banks.

    4. 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
    5. Re:major concern by FredGray · · Score: 2
      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?

      Seller: Well, you might be waiting for a long time...

    6. Re:major concern by iabervon · · Score: 2

      The people who want to be the first to get something always have to pay a lot more than the people who wait for someone else to buy first, and then get in once other people have paid the creator back for R&D costs.

      People paid a whole lot for 486s way back when, and the price dropped quickly once these initial people had bought them.

      The client is paying to have this software available to them. They should negotiate a price that reflects the value to them. If the software is mission critical, it will probably save them more money than they pay for it. The fact that their money additionally benefits others is something they should be prepared to live with, because it's an economy of scale, like everything else, and client #2 always gets a better deal than client #1.

      Furthermore, if the software becomes open source, they stand a good chance of being client #2 for some features they want later; if the software is a totally custom job for them and unavailable to anyone else, it's automatically orphan code.

    7. Re:major concern by fferreres · · Score: 2

      Well, it that case your company ends up either:

      - Paying ALL the cost and ALL the upgrades, in which case making it open is a no.
      - Paying someone else who did the product, still getting nothing. The someone can also sell the product to everyone of you competitors. And you fund that company.

      Then you and your competitors start to realize that they are BOTH paying money do this other company which got in the middle, and because you really depend on that single app, you'll have to pay whatever price they ask. And by that time, you also realize that if you NOW want to produce your own tool, it will costs you the SUM of ALL MONEY you and your competitors spent on this product.

      And this is what companies are nowadays finding out. They thought they had a competitive advantage, and everyone thought that. But reality turned out that the software producer was the one that had the competitive advantage. How else would you collect $40B in a competitive market?

      Good try though...

      --
      unfinished: (adj.)
    8. Re:major concern by fferreres · · Score: 2

      And they find out that they are prime players selling a product that is worst tenfold what they could produce individualy and are getting a larger market shre everyday despite layoffs and chapter 10s (can't remember the number).

      Sometimes it makes sense, some other times does not. When you want a competitive advantage and stagnated developement (beyond what you do) then don't make it free.

      But if you prefer to but closed source and fund a company that OWNS ALL OF IT, and many people do that, then it just does not make economic sense.

      After all, i see no important company benefiting from Office beign expensive and irreplaceable, and having to buy it over and over every two years. EVERY will have this suite and the competitive advantage will go to the product seller.

      In cases where you KNOW you will not really have a competitive advantage is where open source will excel. And it can be proven that in most of the cases you will NOT have a competitive advantage. Competitive advantages come in another form: naely what you do with those tools, your strategy as a company.

      --
      unfinished: (adj.)
    9. Re:major concern by fferreres · · Score: 2

      Opps :) When i said "worst" in the first line, i meant to say "worth". Don't make jokes!!

      --
      unfinished: (adj.)
    10. Re:major concern by fferreres · · Score: 2

      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?

      In the meantime what would you use? Pay for a propietary version?

      So you end up spending that same money and get nothing in return because your competitors can buy that too yet the code is not available to any of you. And the you realize that that software producer owns you and your fellow competitor.

      You can't wait. You either fund a private company and own nothing, or you distribute the cost among competitors, or you fund your own closed version (an in this case, if you have a lot of competitors they may end up funding a closed source version in which case you will be forced to buy that thing too, or (cross your fingers) they wisely GPLd their code, so you will have an incentive to use it and better it).

      Look at what happened in real life. People reasoned like you, and look where they ended. Now you are asuming they will not learn the lesson and keep doing the same mistake forever.

      --
      unfinished: (adj.)
    11. Re:major concern by Jah-Wren+Ryel · · Score: 2

      The part few, if any people, have figured out so far is that just because the client has competitors doesn't mean this software product will be of any immediate use to them. The point of contract software development is the customization. This software will be customized specifically for the client. It is very unlikely that the system will be so turnkey that a competitor could come along, plop it down on his own computer and start making equal or better use of it than the client is.

      In all likelihood, the system will require some amount, perhaps a large amount, of customization for anyone else to reuse it en masse.

      Now, maybe a competitor will fund someone to make the changes to make useful to the competitor but with the right kind of license it should be possible to require such changes be made public and any enhancements beyond simple customization will be fair game for anyone, including the original client, to make use of. Either way, no competitor gets to use it for free and perhaps the original client will gain extra functionality "for free," by allowing it to be used by others.

      --
      When information is power, privacy is freedom.
    12. Re:major concern by fishebulb · · Score: 2

      who said giving it to the world for free. open source does not equal giving away for free to the world

  11. 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/
    1. Re:Open Source Policies by Tony-A · · Score: 2

      Reinventing the wheel.
      Paying good money for someone to reinvent a rather poor wheel.
      Paying lots of good money for people to reinvent a lot of bad wheels, some of which don't even work.
      Paying lots of good money to ensure that disfunctional wheels never get fixed.

      Figure that closed source cost GE several billions last year over and above the cost of hardware/software itself.

  12. 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.
    2. Re:Don't reveal your client's identity by karlm · · Score: 2

      You missed the point of the metaphore. I was talking about using duct tape in parallel with a lock. Taping your frame to the same post to which it's locked. If you don't trust the lock, the duct tape really does you no good. It's a completey different situation with a quick-release wheel vs. a duct taped quick-release wheel. My point is that if you aren't comfortable with a bike lock, you shouldn't feel any safer abouta bike lock wrapped in duct tape or a frame locked and taped to a pole. A good knife will mean an extra 10 seconds to the thief. If a lock isn't enough, you need to rethink your whole bike security strategy rather than adding duct tape. Maybe I should have said something about wrapping the lock in duct tape to make it harder to cut.

      --
      Copyright Violation:"theft, piracy"::Anti-Trust Violation:"thermonuclear price terrorism"<-Overly dramatic language.
  13. 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 GoRK · · Score: 2

      This is not a decent argument for opensourcing the software! If they want to havesomeone else maintain it at a later date, then they should specify in their contract that they will recieve the source code to the program developed.

      In either case - company recieving source or not, the IP would belong to the company - not the contract programmer and they wouldn't have to say anything to him if they wanted to extend the application. Any company who would hire a programmer to develop an application from scratch that would not become the IP of the company (opensource or not) would be stupid.

    2. Re:Emphasize the benefits by Joseph+Vigneau · · Score: 2, Informative

      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.

      No, since they have the source, they will provide it to the "anybody" you mention to fix/enhance/etc. I've been that "anybody" many, many times.

      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.

      This is just not true. They paid for your time, they own the source. You however, can go off and reimplement it at your next client... Remember, you didn't just get paid for some text files, you got paid to transform a set of requirements into a tested solution... This includes testing, debugging, looking on #dumbass for help, etc.

    3. Re:Emphasize the benefits by Sodium+Attack · · Score: 2
      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.

      Can't they do that anyway? The small business owner will get the source code regardless of whether or not it's open-sourced, won't he?

      Remind them that without this move, the IP will still be yours

      No, unless the contract explicitly says that the coder retains copyright, the copyright on the code will belong to the small business owner. When a work is commissioned--a "work for hire"--the copyright belongs to the person or organization commissioning the work, not the creator.

      (Not to mention the fact that if the IP did still belong to the coder, as you suggest, he would not need the business owner's permission to open-source it.)

      --

      Never take moderation advice from sigs, including this one.

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

  14. 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.
    1. Re:Are you using any GPL'd code fragments? by Anonymous Coward · · Score: 2, Insightful

      Grrrrrr... In a case like this, the GPL does *not* obligate you to make your source code publicly available. It does require you to give a copy of the source code to the same person you are giving the compiled executable to. That is all.

    2. Re:Are you using any GPL'd code fragments? by anthony_dipierro · · Score: 2

      You aren't obligated to make the source code publicly available, but you are obligated to "cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License."

      If you're a contractor, and not an employee, you almost surely are considered to have "distributed" the derivitive work. While you aren't obligated to make the source code available, you are obligated to GPL the code, and unless you are under an NDA to not disclose the code, if it happens to get onto a public FTP server, then anyone is free to use, copy, and redistribute it.

    3. Re:Are you using any GPL'd code fragments? by Courageous · · Score: 2

      Using bits of GPL in a work owned by your company (or a company with whom you have a contract) without first asking for permission to do so will expose you to more civil liability than you can shake a house at.

      C//

    4. Re:Are you using any GPL'd code fragments? by hysterion · · Score: 2
      If you're a contractor, and not an employee, you almost surely are considered to have "distributed" the derivitive work.

      Don't think so. gpl-faq :

      For instance, you can accept a contract develop [sic] changes and (...) release your changes to the client under the GPL, but agree not to release them to anyone else until the client says ok. In this case, too, no GPL-covered code is being distributed (...)

  15. 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!
  16. 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.
  17. Easy by itwerx · · Score: 2

    Don't give them an option. This does pre-suppose that your contract gives you full rights to the software of course. I own all the rights to every database and utility I've ever written, and while none of them have been sufficiently general-purpose enough to actually be worth releasing I have the legal right to do whatever the heck I want with them.
    Now I wouldn't go shoving it in their faces. Heck, I wouldn't mention it at all. But if you release it six months or a year after it's finished - A. They might never know, and B. Even if they do pitch a fit there's nothing they can do if you own the rights to it.

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

    1. Re:Businesses understand money by Anonymous+Brave+Guy · · Score: 2

      He was perfectly on the subject. He was pointing out that if you play hardball and insist on charging a higher rate for the full IP, one of your competitors may come along and offer a lower rate than you including the IP. Then your client will get into bed with them instead, and you have lost everything. Oops.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  19. *Clue Stick* by glitch_ · · Score: 2, Insightful

    No offense, but this is one of the stupiest ideas I have ever heard. When you develop code for a client, the client then owns the code. Simple. If you cannot support your own code, at least they have it so they can give it to somebody else to support and maintain.

    Remember though, that your name is going to be associated with that code for all future developers to see. You better take some time and carefully document everything you do. Your code is a personal reflection of you and your work ethic, so you don't want people to get the wrong idea.

    1. Re:*Clue Stick* by peter+hoffman · · Score: 2
      When you develop code for a client, the client then owns the code.

      Not true. Unless the contract says you are doing a "work for hire" the writer retains the copyright. Also, only works that are created to be part of a larger existing work can be a "work for hire".

      Also increasing the strength of an author's claim to ownership is the fact that he's a contractor and not an employee.

      Therefore, if you are hired to write a program for someone, you own the copyright, even if the contract describes what you are doing as a "work for hire".

      IANAL but Google can confirm what I have said.

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

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

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

  23. It won't be yours anymore, but... by topham · · Score: 2

    What's the problem? You sign over the rights to use, or modify the code. You don't sign over the rights to distrubute it.

    *OR* Sign it over to him under the GPL and restrict yourself from distributing it.

    Any body he hires to modify it is restrained by the contract they sign with him as it is an internal project (to his company), and -if- he ever decides to release it he can do so.

    And no future developers can take any rights away from him on the code, or modifications to the code. (ie: they couldn't hand him binaries without sourcecode).

    If you want to get paid to develop something you have to expect that you won't have full rights to it when your done. If you client says 'sure, no problem', great. Otherwise you won't have a choice.

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

    --



  25. 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.
  26. 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.

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

  28. 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 SideEffects · · Score: 2, Informative

      Standard practice to keep ownership?? Out of the 16 years I've been writing software I've been contracting all but 4 of them. Only once have I every not had to sign an agreement that stated that the company I was contracting for did not retain full ownership of what I produced.

      So the question is "How do you get around this?" I'd love to know, because from the contracts I've had (mostly large telco's) it was either sign the paper or I don't get the work.

    2. 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.
    3. Re:Actually by Anonymous+Brave+Guy · · Score: 2
      Its pretty standard practice to keep ownership of the code you produce on contract. Typically, its so you can reuse bits for different jobs.

      Interesting; I've seen a couple of posts here say that now.

      My experience is quite different. Those people I know who develop software on contract, including the software house I work for, almost invariably have to assign the IPR over to the client who's paying the bill.

      Several of the products have used library code from elsewhere, so I've always assumed there was some kind of exemption in there covering that. I haven't seen the exact contract details for any of those cases, and I'm not a lawyer anyway, so I can't comment much on that, I'm afraid.

      I'm pretty sure our clients are entitled to sell on anything we produce for them without any sort of royalties, though. Certainly a number of them buy stuff for precisely that purpose.

      Several friends who worked as contractors until recently (I'm in the UK and IR35 caused many of them to go permanent) have certainly been faced with the "you're one contractor, I'm a multi-billion-turnover telco, give me the rights or go elsewhere for your business" argument, too. I wouldn't want to try telling a major telco I was raising my rates under those circumstances; if experience is anything to go by, they'd just tell me to **** off and find their business elsewhere.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  29. Re:Bah... by styrotech · · Score: 2, Insightful

    Yeah, but that construction analogy isn't entirely applicable. Sure the architect/engineer etc own the copyright on the blueprints, but the customer owns the building.

    Applying the analogy, that would be more like the programmer owning the copyrights to the specification and use cases etc, while the customer owns the software.

    I would think that contract programming would be a 'work for hire' kinda deal.

  30. Just do it. by prizog · · Score: 2

    Don't convince the client of anything. As an independent contractor, your work isn't work for hire. You hold copyright. So, just don't sign a contract which stipulates that it will be work for hire.

    Disclaimer: IANAL, TINLA

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

    1. Re:What's in it for the client? by visualight · · Score: 2

      Support.

      If the software is popular/useful enough to be adopted by open source volunteers the company will have the benefit of ongoing development of the product that they paid for once.

      Also, depending on the program, it may make sense to hold some key (but not critical) object back as closed source they way Sun does with Star/Open Office.

      --
      Samsung took back my unlocked bootloader because Google wants me to rent movies. They're both evil.
    2. Re:What's in it for the client? by fmaxwell · · Score: 2

      It seems rather simplistic to assume that all clients will want support.

      Perhaps you should try reading the story before posting:

      I do not intend to stick around for incremental development after I've delivered it,

      That sounds like he intends to split, not that his client wants no ongoing support.

      We develop software for clients, and we are considerign open sourcing it.
      The choice is ours.


      Not if it is a work for hire like most contracts.

      It soudns like your 20 years have been 20 years with narrow perspective.

      No, my career has been broad, spanning the development of everything from Near Infrared Spectrophotometers to automated mail sorting equipment to satellites.

      By the way, I can't imagine that you've developed much code given your numerous typos in your one short response.

    3. Re:What's in it for the client? by fmaxwell · · Score: 2

      Many companies - mine included - build their businesses on the backs of open source software. Samba. Apache. Perl. The list goes on. Make the client aware of the contributions of others, and they'll be more receptive to making their own contributions.

      Companies exist to make money, not to be part of some big, happy, open source community. They use free software because it is often more cost-effective than commercial software. I'm sure that they would be happy to use free paper if someone wanted to give it away. But don't expect them to open a paper mill any time soon to pay back the free paper community.

    4. Re:What's in it for the client? by fferreres · · Score: 2

      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?

      Pretty simple. So that they are not locked to your solution. If you ever go nuts they have a way out. So it is not YOU that make it GPL, is the client forcing you to make it GPL (if he has brains).

      That are the two only real solutions today.

      --
      unfinished: (adj.)
    5. Re:What's in it for the client? by Jah-Wren+Ryel · · Score: 2

      Spelling flames don't help your point and 20 years in embedded systems is not broad and probably explains why you assume that, "the client will already own the code." Unless otherwise specified in the contract as a "work for hire," the default ownership goes to the creator not the client.

      --
      When information is power, privacy is freedom.
    6. Re:What's in it for the client? by fmaxwell · · Score: 2

      Pretty simple. So that they are not locked to your solution. If you ever go nuts they have a way out. So it is not YOU that make it GPL, is the client forcing you to make it GPL (if he has brains).

      The client owns the source code in almost all contracts. If I "go nuts", he can hire anyone he wants to work on it without giving it to the whole world as an open source gift. Your lack of logic is astounding.

    7. Re:What's in it for the client? by fmaxwell · · Score: 2

      For someone doing "+20 years" of software consulting you seem amazingly unaware of IP law.

      I clearly know much more about it than you do, as will be made clear if you read on.

      his customer does not more own the code more than you will if you buy a copy of Microsoft Word!

      The former is normally stipulated by contract to be a "work for hire" while the latter is a purchase of a "license to use." Your ignorance of IP law is showing.

      I have NEVER EVER given my customer the IP right for my work, only the license to use my work in the capacity to solve the problem I was originaly hired in to solve.

      Most software professionals are not hired to "solve [a] problem." They are hired to produce all or part of a software product (either in-house or commercial). Do you think that the consultants who helped write Microsoft Word retained all IP rights to their work and simply gave Microsoft a license to use it? Absurd.

      if you disagree then i suggest you read up on some IP law, you might get suprised. We (coders) do in fact got some rights!

      No, we do not have "rights." We have contracts and most firms have the foresight to require that a consultant developing custom software for them provide the source code and assign ownership to them of the "work for hire" that the consultant creates.

    8. Re:What's in it for the client? by fmaxwell · · Score: 2

      Spelling flames don't help your point

      It's not a "flame." It's a point. Someone with extensive coding experience probably does not make that many typos.

      20 years in embedded systems is not broad

      So what do you think is "broad"? I've written code for everything from digitizing tablets to satellite communications to printers. I've created programs that do statistical analysis of spectrophotometric data. The software I've written runs on everything from small embedded CPUs to standalone PCs that are part of larger systems. What's your definition of "broad" experience? Someone who's spent their entire career creating Windows GUI applications?

      Unless otherwise specified in the contract as a "work for hire," the default ownership goes to the creator not the client.

      Most companies have lawyers and those lawyers are smart enough to specify that the consultant is creating a "work for hire."

    9. Re:What's in it for the client? by fferreres · · Score: 2

      The client owns the source code in almost all contracts. If I "go nuts", he can hire anyone he wants to work on it without giving it to the whole world as an open source gift. Your lack of logic is astounding.

      And that's exactly what i'm saying. You need to convince the _client_ to use GPL and not the other way arround. If you read the post i replied to, the poster implies there's no reason why the coder will want to put the code under GPL.

      Your lack of logic is astounding.

      No, your is as well as your reading skills.

      --
      unfinished: (adj.)
    10. Re:What's in it for the client? by fmaxwell · · Score: 2

      Who's going to give the competitor a copy?

      They will get it from sourceforge or wherever it is mirrored.

      Making software free, or even open source, doesn't mean you can't sell it, and doesn't mean you have to give it to anyone who asks.

      By your definition, Windows could be considered open source. Microsoft could just call it that, sell it, and then refuse to give the source to anyone.

      Since you clearly don't understand the term "open source", I suggest that you click here to get the definition.

      Excerpt:

      there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost-preferably, downloading via the Internet without charge.

    11. Re:What's in it for the client? by jsse · · Score: 2

      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?

      If he's intented to release the source code without client's acknowledgement, then he's obviously trying to con the customers. :)

      I'm sure he's talking about the case when he used opensource, some license like GPL would require him to release the source code. He might have misunderstood GPL in a sense that releasing of source code is not obligatory. In fact, as another poster said "With the GPL, he only has to give the source to anyone to whom he supplies the binaries."

    12. Re:What's in it for the client? by JesseL · · Score: 2

      The complete sentence that you pulled your excerpt from reads:

      Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost-preferably, downloading via the Internet without charge.

      The open source definition doesn't say anywhere that the program or it's source needs to be freely distributed to everyone that wants it. It just doesn't let you stop the people that you do give it to from redistributing it (while requiring that if they redistribute they ensure continued access to the source).

      --
      "Prefiero morir de pie que vivir siempre arrodillado!"
    13. Re:What's in it for the client? by Mr.+Slippery · · Score: 2
      They will get it from sourceforge or wherever it is mirrored.

      It doesn't have to be mirrored anywhere, or made available for download anywhere. The "free software" movement well-predates the widespread use of the internet, you know - RMS probably was envisioning tapes and 5 1/4" floppies when he first wrote the GPL.

      Since you clearly don't understand the term "open source"

      To the contrary, it is clear that it is you need to read the document you linked to. There's nothing there that requires source code or binaries be made available to the general public - read the entire sentance you quoted. I need only provide source to those to whom I sell binaries. "Open source" and "free software" models are agreed on this.

      In fact, you are displaying such willful ignorance on this topic I begin to wonder if you're trolling. Either that, or you've bought so deeply into proprietary software ideas that you're having psychological difficulty in understanding the ideas behind the "free software" and "open source" movements.

      --
      Tom Swiss | the infamous tms | my blog
      You cannot wash away blood with blood
    14. Re:What's in it for the client? by fmaxwell · · Score: 2

      There's nothing there that requires source code or binaries be made available to the general public

      Then in what way would it be considered "open"? How the hell can you have "open source" software where the source is not freely available?

      Using your assertions, I could claim to have an open source copy of Windows. It's just that Microsoft has chosen not to make the source available to the general public. But it's open source. It's just like Linux except that they don't make the source available to the public.

      Do you see how idiotic your position is now?

      Show me a project considered "open source" where the source code is not readily available.

      In fact, you are displaying such willful ignorance on this topic I begin to wonder if you're trolling.

      If you find that you disagree with me, there's a much more likely explanation: You don't know what you are talking about.

      Either that, or you've bought so deeply into proprietary software ideas that you're having psychological difficulty in understanding the ideas behind the "free software" and "open source" movements.

      I was releasing open source software (into the public domain) in the early 1980's, so I'm well versed in what constitutes "free software" and "open source."

    15. Re:What's in it for the client? by fmaxwell · · Score: 2

      And that's exactly what i'm saying. You need to convince the _client_ to use GPL

      No you do not. It is normally not in the client's best interests to put his custom software under the GPL license. It is much smarter, and more advantageous for the client, if he specifies that the products of your labor are "work for hire" and that he, the client, will own the rights to them. The client can then provide the source code only to those people he chooses to. He can have them sign non-disclosures and protect his investment.

      Let's use an example. Suppose you write part of an inventory control system that your client markets. Why would it be in your clients' best interests to have your portion, and thus, the entire project, under GPL? Then his competitors could demand source code. People could give the product away. It would be a financial disaster.

      Even on an in-house package, the same applies. Businesses want to get advantages on each other. If UPS finds a better way to track packages, they don't want to have to give it to FedEx. They want the competitive advantage that the software offers.

      No one has yet given me a plausible reason why a typical business would be served by making their custom software (that they paid to develop) open source.

    16. Re:What's in it for the client? by fmaxwell · · Score: 2

      You must be aware that the right of ownership for code is not inherited by either party. You can not simply assume you own the code unless you have this documented and signed by the other party.

      Barring contractual language to the contrary, the copyright to the source code will lie with the client if the author was an employee and will lie with the author if the author was an independent contractor.

      That said, most firms are smart enough to specify that code created by independent contractors are "works for hire" and that the firm retains all rights to the product of the labors.

      As an ethical aside, I think that a consultant has a moral obligation to make certain that the ownership of the code is contractually spelled out and that the client fully understands it. Pulling a fast one by preying on a client's naivete is extremely unethical and certainly not an example of bargaining in good faith.

    17. Re:What's in it for the client? by MemeRot · · Score: 2

      You assert:

      "ummm...their competitors can only get a hold of it if the client either posts the binaries for download or sells it to them"

      What is your basis for this extraordinary claim? Disgruntled employees are the biggest security threat a company faces. Any pissed off geek could just zip up the files and email them to the competition anonymously. If the software was gpl'd then the competition would only be beholden to follow the 'distribute source with binaries' clause. Whereas if the first company maintained traditional copyright ownership, when the competition got ahold of their software, they could use their copyright ownership to deny that company the right to make any copies of the documents. They would admittedly have to find out about it first, but that's always a problem with piracy. Copyright owners use their powers to keep people that they don't want to have their software from having their software - most commonly this is commercial software vendors who don't want anyone installing their product unless they get paid, but if 'amazon in a box' found its way to barnesandnoble.com., amazon would use their copyright powers to prevent bn from installing it.

    18. Re:What's in it for the client? by fmaxwell · · Score: 2

      State your precedent for implying copyright law adheres to what you have claimed in the above.

      I suggest that you read the Library of Congress Works Made for Hire under the 1976 Copyright Act.

      If you still don't believe me, then you suck and I am right because I said so.

    19. Re:What's in it for the client? by fferreres · · Score: 2

      Well that's what i am saying, either keep it to yourself or release it GPL. No other license is fine.

      GPL makes most sense if you are a non-profit organization, a goverment agency or someone that will not further bettering the program or a company who's bussiness is not to sell the software but related services. There are other examples also.

      Just saying GLPing doesn't make sense makes you look ridiculous.

      Regarding the grammar skills, thanks for the tip. It was a typo but yes, i make a lot of mistakes (in how many languages can you write, by the way?)

      --
      unfinished: (adj.)
    20. Re:What's in it for the client? by fmaxwell · · Score: 2

      The author can choose to only make source available TO PEOPLE WHO'VE BOUGHT BINARIES .

      And they can make the source, and executable, available to anyone else that they chose. From The Open Source Definition:

      1. Free Redistribution

      The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.


      (Of course, under the GPL or similar schemes, the author can't prevent those people from making the source available to others; however, as I mentioned earlier in this thread, the customer is unlikely to give the source (or binaries) away to their competitors.

      So someone else will give (or sell) the source and binaries to the competitor. Use some common sense!

      And when you're doing a custom job for a customer, their competitors probably wouldn't have much use for it as-is, anyway.

      That's simply an absurd generalization when you know nothing of the business or the software. For all you know, he's developing a general purpose inventory control system that the customer intends to offer for retail sale. Or maybe he's developing something that includes company proprietary techniques and information.

      you wouldn't make such fundamental errors.

      Your claiming that something is an "error" does not make it so.

      Your reasoning is flawed:

      1. You have not shown me any examples of any open source projects where the source is not readily available nor have you given any examples of such a license. So now you want the customer to hire an attorney to draw up a whole new type of open source license than any that already exist?

      2. My original argument was that making a piece of custom software "open source" does not provide an advantage to a business. And you apparently can't show any advantage to a client to contractually obligate themselves to give source away that they could simply choose to own.

      You are wasting my time. Go away to your imaginary world of open-source-land where every project is open source and every company pays to develop software for which they give the source away.

    21. Re:What's in it for the client? by Mr.+Slippery · · Score: 2
      You have not shown me any examples of any open source projects where the source is not readily available ...

      Irrelevant to the question of what the open source / free software definitions require authors to do. We're talking about custom jobs here; any such software is not going to be a well-known project.

      The Venn diagram in this document from the GNU project clearly shows that the creators of the "free software" movement understand that not all free software is available for free download.

      nor have you given any examples of such a license.

      I've already explained how this could happen under the GPL.

      My original argument was that making a piece of custom software "open source" does not provide an advantage to a business.

      Perhaps way back at the start of the thread. But then you started to mis-interpret what open source / free software requires. That's all that I've been trying to correct you about, and I hope you're a little clearer on it now.

      However, to adress that point: releasing software under the GPL does provide a "big picture" advantage in the sense that it encourages others to do the same. When everyone has the freedom to use, modify, and share software, we all benefit.

      For example: these days I work for a division of IBM that makes software for telephone systems. Our clients are Sprint PCS, Verizon, SBC, and so on.

      We did the software behind Sprint's "Voice Command" system, and we're working on a new version. Sprint is footing the bill. Yet that software will be owned by IBM, and IBM will possibly sell it to others too.

      The source will be IBM proprietary. Would it be more to Sprint's advantage to have that software under the GPL, than under the current scheme? Yes; it would mean that Sprint would have the ability to maintain and modify the software (or more likely, to hire some other company to do so) if IBM's support fees became excessive, or if our development team were to be killed by the next round of layoffs.

      Would it be to IBM's advantage? To their short-term thinking, no. They would lose control of Sprint's use of the software. They could still make plenty of money, of course, though they would have to change their fee structure to accomidate a GPL-ing. But, while IBM is slowly seeing the free software light, they're still all about control.

      But what if, in some sort of multi-way exchange for GPLing our software, we got the guys who provide our speech recognition software to GPL their stuff? I'm the guy tasked with integrating the Nuance speech reco stuff into our code, and man! Having source access would have saved us hundreds of hacker-hours and tens of thousands of dollars. We'd still need to pay Nuance for support and for further development, but being able to instrument their code, to source-level debug a core dump happening in their API, to not have to wait for patches...it would be wonderful. And profitable. Multiply by several times for the text-to-speech software, the software for the switch, and so on.

      Would Verizon or SBC get to use our software for free if it were GPLed? No way. IBM isn't going to put it up on a web site for download. Sprint isn't going to give them a copy. And if somehow someone slipped them a bootleg CD, the support required to use the software is considerable. (Not to mention the potential legal issues - Sprint would have the right to share, use, and modify the software, but I don't think that entitles a disgruntled employee, or someone to whom he sends an "unauthorized" CD, to do the same.)

      Everyone involved would benefit if all the software involved here was GPLed. But no one wants to be first.

      --
      Tom Swiss | the infamous tms | my blog
      You cannot wash away blood with blood
    22. Re:What's in it for the client? by fmaxwell · · Score: 2

      We're talking about custom jobs here

      So what? Every original piece of software, whether a general word processor or a company-specific program is custom at the time it is created.

      But then you started to mis-interpret what open source / free software requires. That's all that I've been trying to correct you about, and I hope you're a little clearer on it now.

      You've only gone on to show how little you understand it, as I will show later in this message.

      However, to adress that point: releasing software under the GPL does provide a "big picture" advantage in the sense that it encourages others to do the same.

      No it does not. Companies make decisions based on profit and loss analysis, not out of some feeling of community with other companies. If HP gave away free PCs until they drove themselves into bankruptcy, Dell and other PC vendors would not be likely to repeat the mistake out of a feeling of solidarity.

      When everyone has the freedom to use, modify, and share software, we all benefit.

      Not if your company makes money by selling software packages. Look at Microsoft's financial condition and compare that to the financial condition of Linux vendors. Microsoft can command prices of well over $100 for their OS while Linux goes for an average price of $30-$40 (when not downloaded for free). Microsoft has over $40 billion dollars in their rainy day fund while many Linux vendors are struggling to stay in business.

      Sprint is footing the bill. Yet that software will be owned by IBM, and IBM will possibly sell it to others too.

      And for more money, Sprint could have bought the exclusive rights. They obviously felt that the incremental cost did not justify the purchase.

      They could still make plenty of money, of course, though they would have to change their fee structure to accomidate a GPL-ing.

      The arrogance of open source proponents is, frankly, astounding. You make these proclamations about how major, successful, multi-national corporations should give away their intellectual property (which is owned in no small part by shareholders) and change their entire business model to accomodate GPL based on your unproven idea of how it could work. You want to risk the jobs of thousands of people so that you can test your ideas about open source software.

      You want IBM and its shareholders to assume all of the risk of testing your ideas. Your business plan for IBM seems to be that they pay you a handsome fee to write software and then they put it under GPL, thus making it available, for free, to the entire world. I've got another idea: You stop charging IBM when you write the software and you put it into the GPL directly. Instead of them giving away their intellectual property, you give away yours.

      ...IBM is slowly seeing the free software light...

      No, IBM is realizing that they can take free software that other people wrote and sell it to customers. That's a lot different than IBM spending large sums of money to develop software that they, themselves, will make GPL.

      But what if, in some sort of multi-way exchange for GPLing our software, we got the guys who provide our speech recognition software to GPL their stuff?

      Or they could use a much more logical and proven arrangement of cross-licensing their products, thus keeping control of the software, legal rights to the software, and protecting the software's market value. IBM would be a lot better off providing the source code to a few strategic partners than they would be to give it away to anyone who wants it.

      Would Verizon or SBC get to use our software for free if it were GPLed? No way. IBM isn't going to put it up on a web site for download. Sprint isn't going to give them a copy. And if somehow someone slipped them a bootleg CD, the support required to use the software is considerable. (Not to mention the potential legal issues - Sprint would have the right to share, use, and modify the software, but I don't think that entitles a disgruntled employee, or someone to whom he sends an "unauthorized" CD, to do the same.)

      You need to read the GPL (that you claim to know so much about). Here is the section from the GPL that covers that:

      1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.

      There are no exceptions for disgruntled employees supplying it to competitors. Anyone can give anyone else any GPL source code. Period.

      The conclusion is simple: If you can identify any individual or group that you wish to prevent from having, using, modifying, or distributing your software, you should not make the software GPL. Further, if you want to make money selling the software, you should not make it GPL.

    23. Re:What's in it for the client? by fmaxwell · · Score: 2

      The "you" in the licence refers to the intended recipient of the software: Each licensee is addressed as "you".

      That is complete bull. The GPL makes no stipulations about "intended" recipients and, in fact, is based on the premise that anyone who comes into posession of the source code may redistribute it without limitations (other than those stipulated by the GPL.) "You" refers to the reader of the license, regardless of how he obtained the source code which contains said license. If you disagree, prove me wrong with quotes, court cases, etc. rather than just asserting that you are right.

      "You" would not apply to someone who violates his employment contract - and quite possibly various and asundry "data trespass" laws - to obtain a copy, any more than if I stole disks with proprietry software and a licence for "you" out of your mailbox.

      Wrong. See above.

      Give it a rest. Besides, if your company gives you GPL code to work on, the GPL license stipulates that you may distribute the source code to anyone you want. From the GPL Copyleft license:

      7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License.

      If your firm's GPL code shows up at a competitor's site, there's not a damned thing that your firm can do about it. Period. End of story.

      (You really should read entire documents for context before quoting something in support of your argument.)

      I read the entire GPL license on several occasions. You should take a few business law courses or talk to an attorney instead of getting on Slashdot and spreading misinformation based on your own ignorance of the law.

      Or, you could just write to gnu@gnu.org and get them to explain these (obviously) vexing matters to you.

  32. 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
    1. Re:Sounds like by norton_I · · Score: 2

      My understanding that the default ownership depends on whether the software is a work for hire. If you were specifically hired to write a piece of software, the company owns it, if it was incedental work, the author owns it. So, if your contract specifically says that you will write a timesheet management program, the company owns it.
      On the other hand, if you are hired to implement a timesheet management system, and you choose one from scratch, you wound own it.

      I think this is even true for regular employees, barring any IP assignment contract (which most places require you to sign). If your job is to do payroll, and you write software that automates the process, you own that software, though your employer gets a "shop-rights" license to use the software without royalties.

      In any case, you shouldn't rely on this. A good contract should specify who gets what.

    2. Re:Sounds like by puppet10 · · Score: 2

      IANAL, this is not legal advice, just my reading of a relatively recent (1989) Supreme Court case.

      You have it backward from how I read the supreme court decision.

      Work for hire only applies if its work done within the confines of your employment.

      As an independant contractor if copyright is not assigned as part of the contract it is yours.

      U.S. Supreme Court
      COMMUNITY FOR CREATIVE NON-VIOLENCE v. REID, 490 U.S. 730 (1989)

      --
      -------- This space intentionally left blank --------
  33. How about extending an existing OSS Project? by Fapestniegd · · Score: 2, Informative

    How about instead of writing something from scratch, and open sourcing it; you find an existing OSS Project and extend it to do what your customer needs? There is a better chance it will be maintained when you are done with it, because it is already being maintained. If we all did this we would have a few enterprise level Apps that kick ass instead of a bazillion that are half written.

    But please don't bother open sourcing anything if you (or no one else) plans to maintain it.

    There are enough dead projects out there already. Don't add to the graveyard.

  34. could be easy by samantha · · Score: 2

    If the software is not seen as a huge direct advantage (the secret sauce) and is not sold by the company, then there is a big advantage in having the source open if it is a generally useful set of functionality. In this case it is likely the company will benefit from ongoing free maintenance and debugging. They also get often more talented and interesting programmers involved if the result is OS than they would get to come do maintenance on a piece of proprietary code. If it is fairly popular they can also more likely find talent when needed that already knows that code.

  35. Have your cake || Eat it by nakhla · · Score: 2

    It sounds to me like you want to have your cake and eat it too. Isn't the typical Slashdot argument to paying for software, "All software should be free"? And yet, you still want to get paid to write it? That doesn't seem to compute to me. This seems like the big problem with the open-source methodology. Nobody likes to work for free, and yet people often voluntee their time and skills for certain efforts they appreciate/support/believe in. If you want to open source the software, then open source it and don't expect any compensation for developing it. If you want to be compensated, then don't complain when companies like Microsoft, Sun, etc. want to be compensated for their work in developing their products.

    1. Re:Have your cake || Eat it by happyclam · · Score: 2

      Do all your work in front of a webcam and sell the client a ticket to watch you create open-source software that just happens to meet his exact project needs. This way, you get to thumb your nose at all the self-righteous /.ers who are wailing about "having your cake and eating it too." You get paid for your performance (just like an actor), the client gets his software, and the software is liberated.

      And if you didn't realize this was a joke, well... either you need a better sense of humor or I need to work on it and tell it again when it's funny.

      --
      He looked at me and said, "Kid, we don't like your kind, and we're gonna send your fingerprints off to Washington."
  36. Client's IP, your advice by hol · · Score: 2, Insightful
    In all honesty, this depends on what you're writing, and how you present the idea to the client.

    Your client could be convinced to open-source something if:
    • What you're writing is not crucial to their business, i.e. a utility or something like that
    • The software is generic, and does not contain business logic or other domain expertise of your client
    • If this is useful enough to others (not direct competitors) that they would invest some time in improving what you wrote.


    On the last point, they might agree if you can show the client that what you will be writing will indeed be picked up by some other people/companies. These other people would be interested in what you wrote because they would also need what you wrote, and the improvements made by others can provide a direct benefit to your client.

    I realize that the logic is somewhat circular here. You have to prove it's good enough for everybody, and then everybody else would do something that's good enough for your client. Presumably then they would also need the technical expertise to actually use what you did.

    The other problem is convincing the client that there is nothing proprietary to them in the software. If they hired you, it usually means they don't have enough in-house expertise to decide this, and their decision will be no.

    If this gets open sourced, your name would be on it, and that means you would be on the hook to _everybody_. It does not absolve you of the responsibility of maintaining the software and defending your design decisions. In fact, it makes you more responsible.

    I have worked with companies who thought about this long and hard, and typically did not do it. The exception was software that was end-of-life, with maintenance being cut, and the costs amortized. At that point, unless one of the points above applies, it can make sense because open-sourcing internal software is a hedge for maintenance provided several others start using it and work on it.

    On the IP-side, the work you are doing is considered "work for hire." This means your client owns the IP, all of it. It's like being an architect: you draw plans, and if the client goes ahead with building the building they have full rights. Yes, your name is on it, yes, you have liability exposure, but they own the work, because they bought it from you. The only way to get around it is if the agreement between you and the company states clearly that you are giving them a license as opposed to performing work for hire. If you want to be really clear about what you're giving away, get a lawyer - your client likely has one too.

    just my half-cent.

    --
    - - - Non Caffeine Drink or Drink Error
  37. 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
    1. Re:Sell them your service ... by Anonymous+Brave+Guy · · Score: 2
      Develop the code under GPL/Open Source.

      And how exactly is that going to work if the code you're writing involves commercially valuable techniques that your client has patented (as much bespoke development will)?

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  38. 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.

  39. What goes around comes around by wfrp01 · · Score: 2

    Don't present a smoke and mirrors handwaving routine. Just plain speaking will do you fine, I'd guess.

    I'm going to assume, perhaps incorrectly, that you are developing an application which will be deployed in a GNU/Linux or BSD environment. I'd simply say "I'm able to provide this solution for you because other people have provided free license for use of their software. In exchange for my services you are paying me money. In exchange for the contributions (which are 99.9% of the total package) provided by the free/open source software community, you are simply agreeing to contribute something back."

    --

    --Lawrence Lessig for Congress!
  40. 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
  41. 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
  42. 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.

  43. Contracting by BlackHawk-666 · · Score: 2, Interesting

    I contracted for years to several companies, developing custom solutions for them, and never once did I have to give them the source code (lucky, they were a pack of twats!). IP rests with the developer unless the contract specifies it belongs to the company who hire you. They have a clear right to the binaries, but access to the source code is up for negotiation.

    What is the point of open sourcing the code? Put it in escrow if the company requires that, or negotiate code release into the contract if they want that, but make them pay for it. Remmember, it is always more expensive to contract someone to produce reusable code for you, than it is to have a system built.

    --
    All those moments will be lost in time, like tears in rain.
  44. Framework/Application model works best here by Spirald · · Score: 2, Insightful

    We are a custom software development shop using our own framework as a basis for delivering custom applications to customers.

    We have an arrangement with our customers which works out very well for both of us. Once you factor in the incentives of both parties, this arrangement naturally leads to a happy situation for both parties.

    We come into the relationship with a substantial framework, which we license to the customer under the GPL. As the relationship progresses, we build many components. Some of these components are specific to the customer's business process, and some are more generic. We retain all IP rights to the generic components, which we integrate into the framework and license back to the customer under the GPL. The customer retains all IP rights to code that is specific to their business process.

    We maintain a code repository for each customer which contains their business specific code. These are typically workflow definitions, business specific data models, entry screens and reports, etc.

    We also maintain a common repository for the framework, which contains all the reusable code (whatever we define to be reusable). We usually have a few projects going on at the same time, and this repository receives contributions from all of them.

    The benefits of this arrangement for the customer are:

    * Customer owns specific business process logic, UI elements, data models for their business, which means that they control their trade secrets and we can't go to their competitors and sell them the system they payed to custom build. In return, customer is solely responsible for paying someone (usually us) for maintaining and enhancing these components as their business changes.

    * Customer does not have to pay to build a major system from scratch. They get a tested and tuned framework for free upon entering the contract, and only pay for customization, which is a process we excel at. In this fashion, we can deliver a return quickly and with minimal expenditure, since we don't have to build much infrastructure.

    * Customer gains the benefit of framework enhancements for other customers. Over time, as contributions are made to the core framework, more and more reusable functionality is available to incorporate into our custom solutions. This has the effect of bringing sophisticated functionality into the customer's price range. In effect, all our customers indirectly share the cost of maintenance, tuning, and additional generic functionality.

    * If we go out of business for some reason, the customers have all the source code they need to achieve continuity.

    The benefits of this arrangement for us are:

    * We gain a powerful framework that is tested and tuned across multiple production deployments.

    * We can out-bid competitors who need to build things from scratch, who base their work on proprietary software which they cannot enhance or control, or who must recoup massive amounts of R&D , marketing expense, and capital risk.

    * We spend our time solving unique business and technical problems, as opposed to re-coding functionality for multiple customers simply because we don't own IP.

    * We spend very little time on maintenance because most of the difficult code is maintained in one place- application specific code is mostly declarative.

    * We do not have to pressure customers to buy upgrades. We keep customers current as part of the development process.

    We have been modestly successful using this model, and people who work with us, both developers and customers, are happy and getting good value.

    Once caviat- our customers tend to be in a line of business other that software development, thus they care less about owning software IP than than do about streamlining their business processes.

    Hopefully this will inspire some ideas.

    Mike

  45. Open Source Misunderstanding by Arandir · · Score: 2

    The question makes a wrong assumption about Open Source. It assumes that you have to give the source away to everyone. That is wrong. There may be some licenses that require this, but they are few and far between.

    Let's take two examples, the BSD license and the GPL. The GPL only requires you to give the source code to the recipient. In this case it happens to be your client. Once they get it, it's up to them as whether they want to distribute the source further. The BSD license doesn't even require this. But you're going to give your client the source code anyway. So it makes no difference.

    That said, I think it would be extremely rude if you charged your client for the code and then turned around and posted it on your website. If you're going to do this, let them know ahead of time.

    --
    A Government Is a Body of People, Usually Notably Ungoverned
  46. 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.

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

  48. Copyright and Work for Hire by Duke · · Score: 2, Insightful

    You are the author of the work and therefor have the copyright unless the you assign it to the client or unless it is a work for hire. Since your are not an employee, and it is not a collective work, etc. (See http://www.loc.gov/copyright/circs/circ09.pdf, warning: PDF) it is not a work for hire. So, in theory you can do anything that you want with it.

    That said, you have an ethical obligation to work out a resolution with your client.

    (Assigning it in the contract is also considered a work for hire.)

    In theory, theory and practice are the same, in practice, they are not.

  49. Re:What's in it for the client? - Cost Savings? by fmaxwell · · Score: 2

    And, of course, if you start with GPL, the end result must be GPL. However, the questioner wanted to know how to convince his customer to release the code as open source once the project was over.

    Now if he wanted to argue that the customer would be much better off financially or schedule-wise to start with a GPL program and modify it, that's fine. But to pretend that there is some big advantage for the client to pay for the entire development and then turn the code into open source is a much tougher argument to make with honesty and logic.

  50. It's good to know.... by 3seas · · Score: 2

    That MS doesn't own any of it's code, that the programmers they hired do.

    I wonder why I'm not collecting use royalities on all the cabinets, exhibits and corporate theater sets I've built.

    I have thought about hiring someone to write some code for a project that would be GPL. Am I somehow prevented from doing so because psuedo software engineers want all the rights and control over something they didn't figure out but only implimented?

  51. All things considered.... by 3seas · · Score: 2

    It shouldn't be any wonder why Microsoft wants to dominate the world, for it is apparently the mindset of programmers in general.

    re-inventors get paid way to much!!!!!

    And that includes Microsoft.

  52. You do _not_ open source truly custom work, by hashhead · · Score: 2, Informative
    The short answer is you don't. Open sourcing works great for generalized systems, the 'more eyeballs' maxim only holds when there are more eyeballs, and you only get them when the system is generalized enough to be of interest to anyone besides you and your client. True custom work should only contain your client's business logic (and maybe design) which as mentioned in other posts above is not a good thing to open source for security and business IP reasons.

    I myself do custom work for small businesses for a living. I'm a Java guy who's into open source, here's how I typically work:

    • Gather requirements duh. You gotta find out what they really need, obviously. Not always clear, but that's part of the job - translating their requirements on a business level into concrete development action.
    • Sell the Client on pre-existing OSS frameworks In my case, server-side web development w/ Java, this almost always includes Tomcat. Not GPL'd, but hey, certainly better than the other, proprietary crap. Lately I've been doing more involved projects, so I've been pushing JBoss as well, which _is_ GPL'd and frankly fantastic as well. I try and run these on Linux w/ Apache if possible. I find this is not a hard sell - the main points being no licensing costs for them, more stable tools than the proprietary solutions, etc. These are also popular well-known systems which always makes business types feel better than unknown sketchy things.
    • Use pre-existing OSS libraries for the general parts For me this means class libraries - if I need logging I use log4J, if I need XML processing I use Xerces, etc. (well bad examples since they're APL, not GPL, but you get the point). I also make this clear to the client, they usually like the idea as it saves development time and thus their money. I also let them know that any code I write to improve these libraries goes back to the project and is not the ownership of the client. This is also not a hard sell - my client doesn't care about owning parts of a logging system, it's not his business. This is how I get to contribute to OSS on the client's dime.
    • Write the custom bits Given the above, all that's left is business logic and design. For me this means incorporating the client's business logic in a bunch of servlets of EJBs, and their front end design into a JSP page or an XSLT template. I typically give them full IP ownership of this - yes, I charge a higher rate b/c of this, and frankly this shit is useless to me outside of the current project anyway.
    Bottom line: if what you're coding for your client has general value and is thus worth open-sourcing, you're probably reinventing the wheel which pegs you as a beginner in this business.
  53. Re:NO you don't - Actually you do, if you're scum. by Rary · · Score: 2, Informative
    This is decided by how you establish the relationship between yourself and your client. If you are being hired to write code, you are the client's employee, and everything you create while under his employ belongs to him, not you. He should, in that case, be paying you for your time. If he is simply buying a product from you, then you should set a price, probably fixed, regardless of the time it takes you, and then that is the price for the product. In that case, the code belongs to you, and you license the product to him. Now, you have every right to open the source after selling it to him. However, to do so would make you a complete scumbag, and if I were the client, I'd kick your sorry ass for doing it. :)

    He thinks he's buying a product from you, not subsidizing your personal open source development. I'm curious, how do you feel that this will be in his best interests? His best interest would be for you to become his hire, develop the product, and walk away leaving all your work in his posession.

    --

    "You cannot simultaneously prevent and prepare for war." -- Albert Einstein

  54. Wheel invention by dmaxwell · · Score: 2

    The developer can also tell the client that the more they want to own the code the more it is going to cost them. A completely closed app that a client owns ALL rights to means that the developer has to reinvent all of the little wheels and gears in it. The developer cannot even use his own private stock of functions much less anything GPLed.

    Ironically, a developer coding such an app could use LGPLed libraries as long as he didn't have to patch the libraries himself (absolute ownership again). For that matter, the developer can also use the BSD and X stuff as long as all copyrights are acknowledged. The personal toolbox however would be completely out unless LGPLed or using one of the acknowledge copyright licenses.

    It also means that the developer cannot add anything to his personal toolbox that comes out of an absolute ownership job. The developer is also in peril if he codes anything else that looks like something he did on an absolute ownership job.

    That might be the best angle: "I can only give you a non-exclusive license to certain parts of the apps as I cannot put myself out of the market from having worked for you." This is a purely business argument and may go over better. Don't say "open source" at all. Just negotiate space for you to retain ownership of your generic functions and license them according to your inclinations be them Open Source or Proprietary.

  55. Re:Bah... by mindstrm · · Score: 2

    WEll..
    The drawings are Copyright the architect. The copies of the drawings given to the person who hired them state specifically what they are allowed to be used for, and that they may not be reproduced or used in any other construction project.

    My point was that the things a contractor does on the way to delivering his product are not necessarily owned by the ones who hired him... as you say, the devil is in the details.

    If they hired him to simply produce a result, then that's one thing. If they hired him to actually do so many hours of programming for them, that's another.

  56. Contract programming is not product oriented by defile · · Score: 2

    The whole reason programmers are paid to develop custom systems is because there isn't a shrink-wrapped software package that does exactly what they want. A custom system is not generalized, documented, or supported well enough to be resold as a packaged product to a mass market--because that's not the point!

    The client pays you to build them a system that is tailored around their business. If they didn't want that, they would've bought it from Microsoft already.

    The client should care if his rights to the code mean that he can fire you at any time and hire someone else. There is no reason they should ever expect to possess sole IP rights to it.

    It might mean that their competitor gets their hands on it one day. I say big deal. In all but the most contrived cases. their competitors are likely not to have the same systems, access to developers who can easily work with it at their disposal, or a desire to use code written by their most despised rivals. In the remote chance that their competitors do gain from it, the benefits of open sourcing it will far outweigh anything bad that their competitors may have gained.

    Open sourcing the project does have the obvious benefits. A community may develop around the project and support it long after the original developer left it behind. With this comes positive feedback, as the company (to the seemingly uninitiated) has committed a wanton act of charity--but they know the real truth, that software is not a zero-sum game and that by giving up nothing they've gained so much.

    Or they can naively hoard code because they think their assortment of bits has an intrinsic resale value, but will in the end gain them only the loss of the benefits of open source.

  57. 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.
  58. Read. by cbr372 · · Score: 2

    Umm, no. Crowheads point stands. Any company that hires someone to write software for them, and then gives away the ip/code to the developer is being run by idiots

    You've never done contract work, have you? If they have no use for the IP, then they have no reason to take it from the developer.

    . There is no reason to allow this, especially the market being what it is nowadays

    The market for what? Software? Didn't you read my last post? If they company is selling the software, then obviously they would be more concerned with IP rights and so on, but the fact is that most companies that hire contract workers are looking for specific peices of software to help them with their businesses, they are not looking to resell the software, software companies usually hire their own programmers to write software. Admittedly, there are probably some cases where specialist programmers are contracted to augment their own in-house skills, but there are a lot of companies whose business is not dealing in software (developing and selling), but who nevertheless need custom software to aid their businesses.

    I would imagine it would be easier to convince them to open-source it than to allow oneself to own the ip, since if it's open-source at least they are assured of indefinite free access to it

    You don't seem to know the difference between IP and source code. Source code files are instructions written in any number of programming languages used to create computer programs. IP is the rights on what to do with this source code. Unless the company is a software company, they would have little use for the IP. They might, at a stretch, want to keep the code, not for reselling, but for further customization, but if they aren't a software company, in other words, if software isn't their core business and they don't have in-houes programmers (presumably the case since they hired a contracter) they would need to hire a contracter to make any further changes anyway.

    The only catch to this is if the developer has some remarkable leverage in negotiating that would persuade the client to give them the IP

    With respect, I don't think you know exactly what you're talking about. Unless otherwise strictly specified in the contract, the IP goes into the hand of the developer. Programs written by contracters are generally used to serve a specific function, not to be a product in and of themselves that the client would use as a seperate, marketable product to resell to their own clients.

    As for a company just giving it away to the developer with no compelling reason or significant balancing contribution by the developer, I would say you are talking about a very naive/incompetent business.

    Again, with respect, I think that you should get some real-world experience of how companies operate before coming to this conclusion. If we were talking about employees of a certain company getting IP rights, I would agree. Contracting one company or individual to do work for another company is not the same scenario.

    --
    Cedric Balthazar Rotherwood
    Sun Certified Programmer for the Java Platform +
    System Admin. for Solaris
  59. 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.
  60. 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.

  61. as opposed to.... by MemeRot · · Score: 2

    All the geniuses I work with?

    Come on, luck has a lot to do with it. I work at a .com and we didn't go under, though we came close. Am I an idiot for working at a .com? Is that judgement based solely on whether the company succeeds or fails? Even though that success or failure does not always reward the best companies and does not always punish the worst companies? Those who work at the worst companies that nevertheless manage to stay in business are lucky, those in great companies that went under are unlucky. You can't predict the future, the best product and the best business model is not always a guarantee of success.

  62. Wait a minute... by Anonymous+Brave+Guy · · Score: 2

    We're talking about a small piece of custom software for a small business. WTF would anyone else know or care about it, let alone invest any time in fixing bugs or whatever?

    The company benefits from any improvement or maintenance that other users make to the product, with no extra cost to them.

    The company suffers no benefits since no-one else will look at it, but potentially suffers a massive competitive disadvantage, since their competitors can now see exactly what they're using, find the bugs and capitalise on them, provide new features in their own products that would be hard to add here, and so on.

    Come on, there isn't a single convincing reason to OS this project, and it's a massive liability. No-one in their right mind would consider it for more than a nanosecond.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  63. exactly, that's the problem by MemeRot · · Score: 2

    Once it's open source anyone can redistribute it. Any disgruntled employee at the company could redistribute it, and we all know disgrunteld employees are the biggest security risk in any company. As do the companies themselves. Companies don't want to give angry geeks more ammunition. Anyone finding it in a shared network folder could copy it an redistribute it. A hacker who got into their system could redistribute it - you might be able to charge that person with a computer intrusion, but once they were in the system they'd be allowed to redistribute the code, the only restriction being that they'd have to redistribute the source along with the binaries. I'm not aware of any provision in the GPL that would disallow 'unauthorized' visitors from copying the code. Point it out to me if I'm missing something.

    Simply hoping that nobody will redistribute it is, to put it mildly, completely retarded. Digital technology makes it incredibly simple to copy anything, and multiple copies tend to proliferate on most corporate networks I've seen. While if the code was protected by a conventional copyright, the copyright owner would be free to decree that the program could not be copied onto competitor's machines. See why they might like that legal power over pie in the sky hoping that nobody gives it to them?

  64. seriously yo by MemeRot · · Score: 2

    Check this guy out "Well they can just not give it to anyone". Yeah, that's SUCH a rock solid legal plan. Let's remove any ability for our company to prosecute others for having our software and then just pray to god that nobody here gives it to them out of spite. Companies just make thousands and thousands of decisions just like that every day. Hey mr. 'open source' guy, have you ever noticed that management doesn't trust geeks because they don't understand technology? But they do understand the law. Then again... you've probably never dealt with management, have you?

    What I can't see is the value to the open source community. I just finished coding my company's customer care application. Who the fuck in the rest of the world would want this? Would anyone else need to know how to call the specific stored procs that get called? Custom internal software is usually useless to anyone else because so many business rules are embedded in it, and it's tied so specifically to talking to THIS database on THIS box using THIS method, etc. Now I have some clever code tricks in the application, but nothing that someone else couldn't figure out themselves, and not many that apply to general cases.

    1. Re:seriously yo by fmaxwell · · Score: 2

      Check this guy out "Well they can just not give it to anyone". Yeah, that's SUCH a rock solid legal plan. Let's remove any ability for our company to prosecute others for having our software and then just pray to god that nobody here gives it to them out of spite.

      The stupidity on Slashdot is enough to give a rational man a splitting migraine. Half of the people on here don't comprehend basic business principles.

      Here are some clues for the most rabid open source proponents:

      1. Corporations are in business to make money. Period.

      2. As a general rule, corporations don't give a rat's ass about the open source movement.

      3. Corporations don't feel some moral obligation to "give back to the community" when they use open source software.

      4. Corporations want to get advantages over their competitors. They don't want to develop software at their expense and then let their competitors use it for free.

      5. Making something "open source" does not mean that anyone else will have an interest in maintaining or upgrading it. Just look at the countless dead projects on Sourceforge if you need proof.

      6. Intellectual property is just that: property. The average company is no more likely to give away intellectual property than they are to give away their office equipment, furniture, and computers.

      7. If a company is publically held, the intellectual property that you are encouraging them to give away isn't theirs to give. It belongs to the stockholders.

      I probably just wasted a lot of keystrokes trying to clue these people in, but so be it...

  65. yes but.... by MemeRot · · Score: 2

    What's to stop the binaries from getting distributed? Posted to fuckedcompany or put up on 'my company'-really-sucks.com? Then the source will need to be distributed to all those people.

    If he built the application using GPL's components and never discussed it with the client, then there are serious legal issues and this guy's career is probably fucked, unless the company is stone-dead stupid, and what are the odds on that, maybe one in two?

    1. Re:yes but.... by jsse · · Score: 2

      Normally customized system will not release to public. It's very rare that someone would ask me to develop a system that'll be put on their website for downloading.

      If you are just put it on web and do not grant the downloaders the right to 'use' it, then no one could ask for the source because they are not 'intended recipients'.

      But it doesn't rule out the case that some company would hire inhouse staffs to develop something that'll be sold online. In this case they must carefully decide whether they should use GPL. There are a lot of products out there based on GPL's software, and they are also release their products with source code.

      You are right. If he didn't tell their customers he's going to use GPL that would affect their right to distribute the software, then he's in great trouble. :)

  66. irony by MemeRot · · Score: 2

    "Explain that restricting access to information is immoral"
    followed by:
    "just post the code online with a copy of the GPL and don't mention it to them."

    Wow, you really know how to stick it the the man, right? Take that! Ah ha, now anyone in the world can check your company's inventory. Well, assuming they can connect to the database, which is firewalled off from the outside world.... so yeah, let that code rot in public and go home and pat yourself on the back.

  67. complete lack of understanding of security by MemeRot · · Score: 2

    "2) I have to let them give copies (or modifications) away if they want to - but they're hardly going to give copies to their competitors, are they?"

    Uh.... yeah they are if they're pissed off at their boss or something stupid like that. And if the pissed off geek gives away a GPL'd piece of software, the original company can do nothing to stop it spreading. While if the pissed off geek gives away a traditionally copyrighted piece of software, the company CAN stop it spreading. See how that might be in the company's interest? The only way I can see a company being interested in allowing a piece of custom software to be GPL'd is if it can be built from GPL pieces in 1/8 the time at 1/8 the cost of having it written from scratch, and then only if it's the kind of thing that the rest of the world wouldnt' be able to use anyone, internal accounting or fulfillment or something.

  68. And who benefits? Well... by Anonymous+Brave+Guy · · Score: 2
    Sometimes the code is dead to you. But you make it available just in case someone else wants to use it.

    Sure, like your client's competitors.

    Sometimes a hack you made would serve as a great example to help teach someone else.

    Sure, like your client's competitors.

    Sometimes it tackles a problem in a totally new way that someone would just love to incorporate into their program.

    Sure, like your client's competitors.

    Intellectual property laws exist precisely to protect the investment your client makes in paying you to spend your time developing a solution for them that is of value to them. If they/you release the source code resulting from your efforts to anyone interested, your client's competitors can immediately benefit as well, and your client's investment pays a much smaller return. This is not good business, any way you dress it up.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  69. exactly by MemeRot · · Score: 2

    That's why nobody else will ever touch this 'open source' code. The competitor will be more likely to write their own proprietary software. If you run Oracle and your competitor runs SQL Server, the amount of effort that would be required to re-tool the application would exceed the amount of effort to write an app with the same functionality, but based around SQL Server, from scratch.

    Open source makes sense for generic pieces that provide a big chunk of functionality, not for an inventory management application running on one specific database.

  70. Obligatory warning by Anonymous+Brave+Guy · · Score: 2

    But hang on a minute... Isn't the gpl-faq just one interpretation of the GPL anyway? And isn't the GPL itself just a licence agreement, no more tested in court than any other?

    If I were contracting out some development work, and the result wasn't intended to be openly available, I wouldn't even consider letting the contractors use GPL source anywhere. It's just a legal minefield waiting to sink my business if I do.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  71. But they get that with the source anyway by Anonymous+Brave+Guy · · Score: 2

    Every point you make also holds if your client is buying the source and IP, not just the resulting binaries and such. Any sane client will want such things under most circumstances. If you are advocating the GPL on the basis that it confers extra advantages beyond this, what are they? If you are advocating the GPL purely on the basis of these advantages, you are misleading your client.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  72. Re:you are lucky! by Graspee_Leemoor · · Score: 2

    You might want to rethink your attitude, Anonymous Coward. I am unemployed because my company went tits up. I wrote good code, and I took the job because a friend of mine was a Director at the company. I worked there for 2 years and then, through no fault of mine, the company went under and I became unemployed.

    Other people are writing bad code for companies they should have known better than to join, yet they are still drawing a salary, while I struggle to get enough contracts to pay my bills.

    I am not some yuppie html coder with no skill who joined a dot bomb, I am a skilled coder who writes interpreters and compilers amongst other things.

    I could have come back with a much more ascerbic post than this, and I believe you would have deserved it, but there is too much hate on here anyway, so I tried to be rational. To be honest, I only replied to maybe make you think about your opinions a bit.

    graspee

  73. The sales pitch: by Ogerman · · Score: 2

    Part of the big advantage to Open Source consulting is that your clients are benefitting from those who have gone before you. Now it's their turn to pitch in. The other option is much more expensive for them: go proprietary and start over from scratch rather than standing upon the shoulders of giants, or so the saying goes. This example also illustrates one of the beauties of GPL over BSD--it forces cooperation so that clients can't own improvements to the codebase.

    Of course I think the real answer to this is much simpler stated: provide solutions, not software! ex.) "I will take whatever steps necessary to set up your computers to perform x, y, and z to your specification for a total cost of $n." Then it's up to you how to meet those specifications, be it free or proprietary software.

  74. Re:NO you don't - Actually you do, if you're smart by @madeus · · Score: 2

    It's not about being 'scum' it's about doing business.

    Unless the client starts out clearly stating that he expects to own the source you produce you don't have to roll over and get screwed (Why should you? Software is *expensive* to develop and small companies simply can't afford to pay for the rights to have software build exlusively for them, the development of sophisticated packages costs tens of thousands.)

    I'm not advocating misleading people, if they are paying you many thousands of USD or UKP then one would expect they want the source, but don't think for one minute that you won't get screwed if they can do it legally.

    It's not a tea party and your clients are not always your friends and companies arn't pulling punches, it's business. MOST companies are happy to screw you when it comes to paying your fee (as most contractors can testify to).

    If they have a problem, say the software doesn't do something they expect it do, but they never explicitly asked for it, they will quite happly withold part of, or your entire fee. Or sue you if they think they can (even if only to get out of paying you). They are justing being smart and doing business, it's what capitalism is about.

    It's very often NOT in his best interest to pay you to develop software that he then exlusively owns. That may cost him 20,000 UKP or more, when you can do it it for about 5,000 but you retain the rights.

    To hand over the rights to the source of a non trivial app when you don't have to and just because they can't afford it makes you a fool. Giving the companies full rights to your work on the cheap just because they can't afford it and you feel sorry for them is bad business and certainly harms you (as a developer) and in the long run may very well harm the company you did the work for too (as you would always have to write *everything* you do from scratch, which would take much longer for you to do and so would cost them much more).