We have one client for whom we wrote a set of custom modules. I asked the client if we could put the modules on d.o and he balked. I tried to explain that he'll get good testing and also bug fixes and new features maybe, if others post patches etc. He feels that he (his organization that is) paid for the work and why should someone else now benefit? He also has this idea that other organizations like his will want a site like his and he has plans to provide a hosted service for them (while this idea may seem far-fetched, I do think he has some connections which might make this idea feasible). So he thinks if we release the code, then they will just grab the code and use it. I tried to explain that your average layman has no idea what Drupal is, no way to figure out your site is running Drupal, and if even he got that far, he has no way of building his site without a professional to put the pieces together (after they figure what those pieces are of course), and then they he would do just as well to use our hosted plan! But he hasn't accepted this. Are there any good arguments we can use to persuade him? I feel he has nothing to lose in releasing the code, but we have to convince him of that. Thanks.
This is an interesting legal problem. According to the GPL, your work is derived from software covered by the GPL and therefore the client can not give you a copy of the source under any terms other than the GPL even if they own the copyright to the part of the work created by you. Now, you have a copy of the source (since you created it) by permission (which may be irrelevant) of the client. Therefore the copy you have is governed by the GPL and it is illegal of the client to prevent you from distributing it under the GPL. Some people might look at this problem and trivially dismiss it because of such and such, but I wonder if it can be trivially dismissed. The interesting thing is that there are a lot of transactions and business based on similar relationships between developers and clients. The consequences of this problem can therefore be huge. This is not the only problem with the GPL. There are other fundamental problems such as the problem of determining and maintaining ownership of copyright of Free Software projects. I would love to hear the opinion of a legal expert on this. Nir On Mon, Jul 13, 2009 at 11:53 AM, Fred Jones <fredthejonester@gmail.com>wrote:
We have one client for whom we wrote a set of custom modules. I asked the client if we could put the modules on d.o and he balked. I tried to explain that he'll get good testing and also bug fixes and new features maybe, if others post patches etc.
He feels that he (his organization that is) paid for the work and why should someone else now benefit? He also has this idea that other organizations like his will want a site like his and he has plans to provide a hosted service for them (while this idea may seem far-fetched, I do think he has some connections which might make this idea feasible).
So he thinks if we release the code, then they will just grab the code and use it. I tried to explain that your average layman has no idea what Drupal is, no way to figure out your site is running Drupal, and if even he got that far, he has no way of building his site without a professional to put the pieces together (after they figure what those pieces are of course), and then they he would do just as well to use our hosted plan!
But he hasn't accepted this. Are there any good arguments we can use to persuade him? I feel he has nothing to lose in releasing the code, but we have to convince him of that.
Thanks.
On Mon, 13 Jul 2009 12:40:11 +0300 Nir Aides <nir@winpdb.org> wrote:
This is an interesting legal problem.
According to the GPL, your work is derived from software covered by the GPL and therefore the client can not give you a copy of the source under any terms other than the GPL even if they own the copyright to the part of the work created by you.
Now, you have a copy of the source (since you created it) by permission (which may be irrelevant) of the client. Therefore the copy you have is governed by the GPL and it is illegal of the client to prevent you from distributing it under the GPL.
I think it depends on the terms of the contract. eg. if I am an employ of XYZ, I'm "exposed" to a GPL program and the holder of the copyright is XYZ I still may not distribute it. I think this is the case with modified Apache/MySQL at Google. They don't "leak out". -- Ivan Sergio Borgonovo http://www.webthatworks.it
he client to prevent you from distributing it under
the GPL.
I think it depends on the terms of the contract.
eg. if I am an employ of XYZ, I'm "exposed" to a GPL program and the holder of the copyright is XYZ I still may not distribute it.
I think this is the case with modified Apache/MySQL at Google. They don't "leak out".
That's the way it was explained to me last summer when I got into a battle with a former client and lawyers got involved. Now every client I do work for is on a contract and that contract stipulates if I can or can not release any of the work. If they don't want me to then the hourly rate also is higher. Jamie Holly http://www.intoxination.net http://www.hollyit.net
On 13-Jul-09, at 8:10 AM, Jamie Holly wrote:
and that contract stipulates if I can or can not release any of the work. If they don't want me to then the hourly rate also is higher.
I've also found this to work really well. I typically phrase it as a "community participation" discount off of the regular rate if they allow contributions. I've yet to have a client decline that option, though I've not worked with clients who's primary business is the web. Depending on the module and the size of the project, the potential for security reviews is often a benefit which I promote to clients. Regardless of competitive rationale, having your website hacked can be a more immediate (and costly) concern. I always stipulate that patches to existing modules, themes, core or other FOSS code can be contributed back. I've never had an objection to this. Good luck! --Andrew
Typically in legal circles ownership is given to the creator. However if any sort of contract was signed and that mentioned work for hire, or basically detailed that the work was to be owned by the company rather than Fred then Fred can't distribute this. Even if Fred does own the code it is not wise to distribute something built as part of a contract without agreement. It's not good for references and future work. Re the GPL. Building on top of the GPL is fine and you don't have to distribute it at all. The only thing the GPL does is make you ship the license and original stuff along with your new product if you distribute that product. That's a gross simplification. But in essence if this work was done to go on a website then that is most likely not distributing the work as the website delivers the output of the work, not the work itself. Fred should get agreement first to be safe in my opinion.. 2009/7/13 Nir Aides <nir@winpdb.org>
This is an interesting legal problem.
According to the GPL, your work is derived from software covered by the GPL and therefore the client can not give you a copy of the source under any terms other than the GPL even if they own the copyright to the part of the work created by you.
Now, you have a copy of the source (since you created it) by permission (which may be irrelevant) of the client. Therefore the copy you have is governed by the GPL and it is illegal of the client to prevent you from distributing it under the GPL.
Some people might look at this problem and trivially dismiss it because of such and such, but I wonder if it can be trivially dismissed.
The interesting thing is that there are a lot of transactions and business based on similar relationships between developers and clients. The consequences of this problem can therefore be huge.
This is not the only problem with the GPL. There are other fundamental problems such as the problem of determining and maintaining ownership of copyright of Free Software projects.
I would love to hear the opinion of a legal expert on this.
Nir
On Mon, Jul 13, 2009 at 11:53 AM, Fred Jones <fredthejonester@gmail.com>wrote:
We have one client for whom we wrote a set of custom modules. I asked the client if we could put the modules on d.o and he balked. I tried to explain that he'll get good testing and also bug fixes and new features maybe, if others post patches etc.
He feels that he (his organization that is) paid for the work and why should someone else now benefit? He also has this idea that other organizations like his will want a site like his and he has plans to provide a hosted service for them (while this idea may seem far-fetched, I do think he has some connections which might make this idea feasible).
So he thinks if we release the code, then they will just grab the code and use it. I tried to explain that your average layman has no idea what Drupal is, no way to figure out your site is running Drupal, and if even he got that far, he has no way of building his site without a professional to put the pieces together (after they figure what those pieces are of course), and then they he would do just as well to use our hosted plan!
But he hasn't accepted this. Are there any good arguments we can use to persuade him? I feel he has nothing to lose in releasing the code, but we have to convince him of that.
Thanks.
Quoting Stewart Robinson <stewsnooze@gmail.com>:
Typically in legal circles ownership is given to the creator.
I'm of the understanding that the ownership belongs to the intellectual property holder. That could be the creator but it could also be an employer or contractee depending on the contracts signed by the employee or contractor. -- Earnie -- http://r-feed.com/ -- http://for-my-kids.com/ -- http://www.4offer.biz/ -- http://give-me-an-offer.com/
On Mon, 2009-07-13 at 11:41 +0000, Earnie Boyd wrote:
I'm of the understanding that the ownership belongs to the intellectual property holder. That could be the creator but it could also be an employer or contractee depending on the contracts signed by the employee or contractor.
This is correct.
On Mon, 13 Jul 2009 11:53:15 +0300 Fred Jones <fredthejonester@gmail.com> wrote:
We have one client for whom we wrote a set of custom modules. I asked the client if we could put the modules on d.o and he balked. I tried to explain that he'll get good testing and also bug fixes and new features maybe, if others post patches etc.
He feels that he (his organization that is) paid for the work and why should someone else now benefit? He also has this idea that other organizations like his will want a site like his and he has plans to provide a hosted service for them (while this idea may seem far-fetched, I do think he has some connections which might make this idea feasible).
So he thinks if we release the code, then they will just grab the code and use it. I tried to explain that your average layman has no idea what Drupal is, no way to figure out your site is running Drupal, and if even he got that far, he has no way of building his site without a professional to put the pieces together (after they figure what those pieces are of course), and then they he would do just as well to use our hosted plan!
But he hasn't accepted this. Are there any good arguments we can use to persuade him? I feel he has nothing to lose in releasing the code, but we have to convince him of that.
I think your job is to let him understand the advantages of having such modules "supported by the community" and what does it mean "replicating and maintaining your work". Then it all depends on which terms you worked for/with them and if the terms were clear enough for both (copyright holder, maintenance and support plan, characteristics of the modules eg. easy deployment...). Supposed he is the holder of the copyright he may or may not have good commercial reasons to stop distribution (the commercial reasons may or may not overcome the maintenance costs). As a developer you may have a word on the management costs and opportunity to release it but I tend to trust clients on their business matter (just tend...). If you detain the copyright of the modules you develop and it is clear they are under GPL that would make it easier. BTW if you are not the copyright holder... you shouldn't be allowed take private agreement *not* to release in the public since they may be in violation of the GPL. But violation of GPL is going to be discovered... just when the agreement is not any more private... so this is going to be a mess I wouldn't be willing to get involved with. Working with GPL software without making a client aware of the advantages and obligations he has is bad for you, the client and Open Source. -- Ivan Sergio Borgonovo http://www.webthatworks.it
On Mon, 2009-07-13 at 13:11 +0200, Ivan Sergio Borgonovo wrote:
He feels that he (his organization that is) paid for the work and why should someone else now benefit?
Does he realize that he's the beneficiary of millions of hours of work paid for by others? Probably not. {sigh} Scott -- Syscrusher <syscrusher@4th.com>
Regarding the legal issues here, it's definitely interesting and I will now take care to make contacts, but as far as this job, we have no contract but anyway the owners of this group are friends of ours and there is no fight going on--we just suggested to release the code and they asked us not to. So now we have to convince them to agree. :)
I think your job is to let him understand the advantages of having such modules "supported by the community" and what does it mean "replicating and maintaining your work".
So that's what I'm asking about here--I can tell him the advantages are: 1. Testing and Bug reports. 2. Potential patches being submitted that he won't have to pay for. That's what I know. What does "replicating and maintaining your work" refer to?
Does the client have a site/service that would be of interest to the general public? If so then I would try to sell it from the angle that you can release the module with a "supported by" attribution that links back to them from the D.O. project page. That could help give them more recognition and give their company a higher standing within the O.S. community.
No, their service is only for other organizations in their particular business. I don't think a link on d.o will interest them *at all.* I would like one, but I'm a nerd. lol.
Does he realize that he's the beneficiary of millions of hours of work paid for by others?
Of course he realizes that. Does he care, however? Seems like not. :( Well, it could be that he knows and appreciates BUT he still doesn't want to lose his own money over it. lol.
See this related article:
http://civicactions.com/blog/most_important_decision_developing_site_Contrib...
and the "Contribute back" section here:
OK, great--this is the kind of thing I was looking for. Thanks. Fred
Although the links provided touch on this. The most successful argument I have used is that the client may be able to defer and/or share the maintence costs of the module. The first time that they don't have to pay a developer to upgrade the module to the next major rev of drupal (because someone else has contributed the port), this can be a powerful argument. Of course as others have already mentioned, it should be pointed out that they are taking advantage of other consultants paid development by using drupal, and that it is fairly common practice for code that is paid for by other organizations to be released back into the drupal community. There are many success stories to be told, where an important feature to a contributed module was developed (and therefor paid for) wholly by another person. Depending on the complexity and reusability of the module, they may FULLY recoup the cost of development in maintenance cost savings. I often describe open source software as bartered software developement, where you lose the overhead associated with contract management. ;) Given all that, continue to point all this out, every time you get an opportunity. Sometimes it takes a while to sell, and the proprietary module could be released into the community at any time. No rush. I'm still selling it at my shop, not cause the people don't get it, but because its an easy thing to take for granted. It's the bills you pay that get your attention, not the ones you manage to avoid. Good luck, and keep trying.... Dave On Jul 13, 2009, at 6:06 AM, Fred Jones wrote:
Regarding the legal issues here, it's definitely interesting and I will now take care to make contacts, but as far as this job, we have no contract but anyway the owners of this group are friends of ours and there is no fight going on--we just suggested to release the code and they asked us not to. So now we have to convince them to agree. :)
I think your job is to let him understand the advantages of having such modules "supported by the community" and what does it mean "replicating and maintaining your work".
So that's what I'm asking about here--I can tell him the advantages are:
1. Testing and Bug reports. 2. Potential patches being submitted that he won't have to pay for.
That's what I know. What does "replicating and maintaining your work" refer to?
Does the client have a site/service that would be of interest to the general public? If so then I would try to sell it from the angle that you can release the module with a "supported by" attribution that links back to them from the D.O. project page. That could help give them more recognition and give their company a higher standing within the O.S. community.
No, their service is only for other organizations in their particular business. I don't think a link on d.o will interest them *at all.* I would like one, but I'm a nerd. lol.
Does he realize that he's the beneficiary of millions of hours of work paid for by others?
Of course he realizes that. Does he care, however? Seems like not. :(
Well, it could be that he knows and appreciates BUT he still doesn't want to lose his own money over it. lol.
See this related article:
http://civicactions.com/blog/ most_important_decision_developing_site_Contributed_vs_custom_develop ment
and the "Contribute back" section here:
OK, great--this is the kind of thing I was looking for. Thanks.
Fred
On Mon, Jul 13, 2009 at 8:42 AM, David Metzler <metzlerd@metzlerd.com>wrote:
Given all that, continue to point all this out, every time you get an opportunity. Sometimes it takes a while to sell, and the proprietary module could be released into the community at any time. No rush.
To me, "proprietary" is the key. It's important for the contract to make clear that code will be licensed legally. Otherwise, the developer could be put into a difficult position of distributing proprietary code. It's the one distributing GPL code who is accountable. It's best to express contracts in terms of what functions will be provided and/or hours required to get there, not specifically what new code might be required. Then, as you are augmenting an existing code base and using the appropriate license for new work, the engagement stays focused on the collective result, not the component pieces. In the end, it's never a good idea to redistribute an entire replica of any collective result. Sharing new functions back to the community places important functions into an overall support infrastructure and can be done discretely, without detracting from anyone's solution or market advantage.
Just a note that the GPL does not (AFAIK) automatically mean free distribution of code to anyone - just that if you give the code to someone else, they then have the right to modification, distribution etc to others under the terms of the GPL. Also if you are doing contract work, it is probably best to specify ahead of time what you want to happen with the code once you have met the client's business requirements and it may be good to point out how their business is benefiting from thsi free code sharing - how they are being saved a lot of money in being able to use code written by others. You will have to ask a lawyer, but my understanding is that in a contract work situation you cannot prevent the client from distributing the work (there are some modules out there that do try to restrict and thus violate the GPL - the ones I have encountered are ports from Joomla! and not hosted at drupal.org) as they see fit as long as it is under the terms of the GPL. As for your rights, they are as specified in your contract - if you transferred ownership, then it is probably up to the client. If you did not specify anything here, it is still best to continue a good working relationship with those you work with as it might affect your overall reputation for "changing the terms" even if you didn't. In the future, it may be best to have some of the legalese, processes available and clarified with the client before any work is done. Just to note that IANAL.
Does the client have a site/service that would be of interest to the general public? If so then I would try to sell it from the angle that you can release the module with a "supported by" attribution that links back to them from the D.O. project page. That could help give them more recognition and give their company a higher standing within the O.S. community. Jamie Holly http://www.intoxination.net http://www.hollyit.net Fred Jones wrote:
We have one client for whom we wrote a set of custom modules. I asked the client if we could put the modules on d.o and he balked. I tried to explain that he'll get good testing and also bug fixes and new features maybe, if others post patches etc.
He feels that he (his organization that is) paid for the work and why should someone else now benefit? He also has this idea that other organizations like his will want a site like his and he has plans to provide a hosted service for them (while this idea may seem far-fetched, I do think he has some connections which might make this idea feasible).
So he thinks if we release the code, then they will just grab the code and use it. I tried to explain that your average layman has no idea what Drupal is, no way to figure out your site is running Drupal, and if even he got that far, he has no way of building his site without a professional to put the pieces together (after they figure what those pieces are of course), and then they he would do just as well to use our hosted plan!
But he hasn't accepted this. Are there any good arguments we can use to persuade him? I feel he has nothing to lose in releasing the code, but we have to convince him of that.
Thanks.
Fred Jones wrote:
Are there any good arguments we can use to persuade him?
See this related article: http://civicactions.com/blog/most_important_decision_developing_site_Contrib... and the "Contribute back" section here: http://drupal.org/node/51169
Regardless of legal status. How can one "grab" Drupal for free (with all related benefits) and then refuse to contribute back? -----Oorspronkelijk bericht----- Van: development-bounces@drupal.org [mailto:development-bounces@drupal.org] Namens Fred Jones Verzonden: maandag 13 juli 2009 2:53 Aan: development@drupal.org Onderwerp: [development] Convince Client to Release Code We have one client for whom we wrote a set of custom modules. I asked the client if we could put the modules on d.o and he balked. I tried to explain that he'll get good testing and also bug fixes and new features maybe, if others post patches etc. He feels that he (his organization that is) paid for the work and why should someone else now benefit? He also has this idea that other organizations like his will want a site like his and he has plans to provide a hosted service for them (while this idea may seem far-fetched, I do think he has some connections which might make this idea feasible). So he thinks if we release the code, then they will just grab the code and use it. I tried to explain that your average layman has no idea what Drupal is, no way to figure out your site is running Drupal, and if even he got that far, he has no way of building his site without a professional to put the pieces together (after they figure what those pieces are of course), and then they he would do just as well to use our hosted plan! But he hasn't accepted this. Are there any good arguments we can use to persuade him? I feel he has nothing to lose in releasing the code, but we have to convince him of that. Thanks.
As others have noted, the time to be having this conversation with a client is before any work is done, not after. Your contract (which you want to have, period, even if it's a friend, and this is why) should specify who holds the copyright on any code written for the project. For Drupal modules, whoever holds the copyright is required to distribute it under the GPL... *if* they choose to distribute it. There is no legal requirement in the GPL that any of the code you write ever be given to anyone but you and the client, just that if one of you does so that it is under the GPL. Most sites include some widely-used general purpose modules, some fringe special purpose modules (either custom written or not), and some site-specific one-off code that, while still GPL, is really not useful to anyone else. How much of each varies widely with the site. There's really no value to distributing the latter, and I'd argue that putting that on Drupal.org is a net-negative as it just inflates the number of modules and eats up valueable namespace. So any code that is not generalizable you shouldn't bother distributing anyway. For any code that is generalizable, I think the most persuasive argument is that, especially for a hosted solution like you describe, *code is not what differentiates him in the market*. It's the service he offers. Code is incidental to that. If people want to replicate his service and compete with him, replicating his service will be harder than replicating his code. If the code is not that important to the service, then he loses nothing by releasing it. If that particular functionality is that important to the service, then someone else trying to compete with him will replicate the code that provides the functionality, release it, get the karma and good will of doing so, which means the free support and increased likelihood that someone will answer questions when he has them, etc. The free, shared version of that functionality will eventually become better than whatever your client's hidden version is, so his competition will have *better* code at their disposal than he will, and he'll be stuck with code that no one can support except him that is worse than the publicly available, shared version. That's the worst possible situation for him to be in. Sometimes, releasing code does help your competition. Any Drupal consulting shop that releases modules or makes patches to existing modules is directly benefiting other consulting shops that they may end up bidding against on a client. And those shops are doing the same in return. With enough shops doing that (and there are), you're still getting more free code and functionality than you're giving away. Everyone is perpetually in "code debt" to the larger community in terms of code given away vs. code gotten for free. It also means that other module maintainers are more likely to consider your feature requests and patches (even if they have to write them themselves) if they recognize you as an active contributor. That's what makes open source work; everyone is in debt to everyone. :-) Fred Jones wrote:
We have one client for whom we wrote a set of custom modules. I asked the client if we could put the modules on d.o and he balked. I tried to explain that he'll get good testing and also bug fixes and new features maybe, if others post patches etc.
He feels that he (his organization that is) paid for the work and why should someone else now benefit? He also has this idea that other organizations like his will want a site like his and he has plans to provide a hosted service for them (while this idea may seem far-fetched, I do think he has some connections which might make this idea feasible).
So he thinks if we release the code, then they will just grab the code and use it. I tried to explain that your average layman has no idea what Drupal is, no way to figure out your site is running Drupal, and if even he got that far, he has no way of building his site without a professional to put the pieces together (after they figure what those pieces are of course), and then they he would do just as well to use our hosted plan!
But he hasn't accepted this. Are there any good arguments we can use to persuade him? I feel he has nothing to lose in releasing the code, but we have to convince him of that.
Thanks.
Here's an example of a good contract if you need one: http://24ways.org/2008/contract-killer - Vivian
Here's an example of a good contract if you need one: http://24ways.org/2008/contract-killer
Thank you to everyone who replied. I sent off an email now. :) Fred
On Mon, Jul 13, 2009 at 1:53 AM, Fred Jones<fredthejonester@gmail.com> wrote:
But he hasn't accepted this. Are there any good arguments we can use to persuade him? I feel he has nothing to lose in releasing the code, but we have to convince him of that.
Fred, show him how other businesses are succeeding with Drupal and how they choose to contribute back. There are several Drupal case studies on the front page of Drupal.org and many more listed here http://drupal.org/success-stories . That will provide a business friendly context for sharing code. e.g. Sony Music sponsors major multilingual improvements in Drupal 6, http://drupal.org/node/383954 Also challenge the business owner on the following issues: 1) Your business is now dependent on Drupal. Do you want your web platform to succeed or fail? If you want it to succeed, make contributions of marginal cost to you, now that the module is built, to make Drupal successful. 2) Do you plan to grow your business? If so, you will likely need to hire more Drupal developers in the future. The best recruiting for new talent is through developers who have an affinity for the features you are already developing. By putting you code in the public domain, you are effectively creating an interview process to determine who the most competent developers are for the features you want to develop. 3) What is your research and development budget? The users who are visiting your site are going to expect the business site to keep improving the user experience, integration with other services on the Internet, new features. Do you have the budget to develop everything your site visitors want, or would it be better to have research and development ongoing around your modules at little marginal cost to your business. Assure him that business execution, and not individual features on a website are the differentiators for a business. Kieran
Thanks.
participants (18)
-
Aaron Winborn -
Alex Cochrane -
Amy Stephen -
Andrew Berry -
David Metzler -
Earnie Boyd -
Fred Jones -
Ivan Sergio Borgonovo -
Jamie Holly -
Joop Sint Jago -
Kieran Lal -
larry@garfieldtech.com -
Naheem Zaffar -
Nedjo Rogers -
Nir Aides -
Stewart Robinson -
Syscrusher -
Vivian Spencer