向软件产品添加自定义开发的代码

时间:2022-04-19 01:12:19

In your opinion is it common and ethical to do custom software development for a Customer and then add that software to your base product which is available to your other customers?

在您看来,为客户进行自定义软件开发然后将该软件添加到您的其他客户可用的基础产品中是否通用和合乎道德?

My take on it is that:

我的看法是:

  1. It's a contractual issue between you and the Customer.
  2. 这是您与客户之间的合同问题。

  3. It's done often (although maybe not 'common').
  4. 它经常完成(尽管可能不是'普通')。

  5. It's similar to the Customer paying to have their pet feature bumped up the development priority queue.
  6. 它类似于客户付费使他们的宠物功能提升了开发优先级队列。

Can anyone point to any well known (or at least public) examples of this?

任何人都可以指出任何众所周知的(或至少是公开的)这样的例子吗?

3 个解决方案

#1


  1. You are right, it should be a contractual obligation over who owns the source code. Many vendors will sell the finished product to the client but keep the source code, others will give the whole thing away (which is S.O.P. with our company)

    你是对的,它应该是谁拥有源代码的合同义务。许多供应商会将成品销售给客户,但保留源代码,其他供应商会将整件事情放弃(与我们公司的S.O.P.)

  2. I imagine it gets done, just not sure as far as the scope or depth of the copying.

    我想它已经完成了,只是不确定复制的范围或深度。

I can't think of any well-known examples (primarily because business between two companies isn't often publicized), but a personal example is when we developed a much more flexible time-tracking system in one of our client applications and it turned out so well that we implemented it into our own personal time-tracking system (which wasn't that great out the gate).

我想不出任何众所周知的例子(主要是因为两家公司之间的业务并不经常公开),但个人的例子是我们在一个客户端应用程序中开发了一个更灵活的时间跟踪系统并且它已经转向非常好,我们将它实施到我们自己的个人时间跟踪系统(这不是很好的门户)。

#2


From an ethical standpoint, I think it's actually quite simple: It's a matter of what your customer perceives you to be doing. Do they think you are customizing your product for them, or do they think they are paying for their pet requests to be bumped up in your feature queue?

从道德的角度来看,我认为这实际上非常简单:这是您的客户认为您在做什么的问题。他们是否认为您正在为他们定制产品,或者他们是否认为他们正在支付他们的宠物要求在您的功能队列中被提升?

#3


As an extreme standpoint: if all custom made code could not be used anywhere else anymore then at some point you will not be able to continue your business anymore without violating that rule.

作为一个极端的观点:如果所有自定义代码都不能在其他任何地方使用,那么在某些时候,如果不违反该规则,您将无法再继续开展业务。

As the opposite extreme: if all custom made code would end up in a generic product then no customer would provide their specific problems to you anymore.

相反的极端:如果所有定制代码最终都会出现在通用产品中,那么任何客户都不会再向您提供特定问题。

Of course both standpoints are quite extreme and are not likely to happen to that extent in my opinion.

当然,在我看来,这两个观点都非常极端,不太可能发生。

Personally I would state very clearly to a new customer that in general all (custom) code could be used in other products and projects, unless it is agreed in advance to not do so for specific parts of the code. Then if it is really important to them that certain parts stay behind closed doors they will let you know.

就个人而言,我会非常清楚地告诉新客户,一般而言,所有(自定义)代码都可以用于其他产品和项目,除非事先同意不对代码的特定部分这样做。然后,如果对他们来说真的很重要,某些部件会关在门外,他们会告诉你。

#1


  1. You are right, it should be a contractual obligation over who owns the source code. Many vendors will sell the finished product to the client but keep the source code, others will give the whole thing away (which is S.O.P. with our company)

    你是对的,它应该是谁拥有源代码的合同义务。许多供应商会将成品销售给客户,但保留源代码,其他供应商会将整件事情放弃(与我们公司的S.O.P.)

  2. I imagine it gets done, just not sure as far as the scope or depth of the copying.

    我想它已经完成了,只是不确定复制的范围或深度。

I can't think of any well-known examples (primarily because business between two companies isn't often publicized), but a personal example is when we developed a much more flexible time-tracking system in one of our client applications and it turned out so well that we implemented it into our own personal time-tracking system (which wasn't that great out the gate).

我想不出任何众所周知的例子(主要是因为两家公司之间的业务并不经常公开),但个人的例子是我们在一个客户端应用程序中开发了一个更灵活的时间跟踪系统并且它已经转向非常好,我们将它实施到我们自己的个人时间跟踪系统(这不是很好的门户)。

#2


From an ethical standpoint, I think it's actually quite simple: It's a matter of what your customer perceives you to be doing. Do they think you are customizing your product for them, or do they think they are paying for their pet requests to be bumped up in your feature queue?

从道德的角度来看,我认为这实际上非常简单:这是您的客户认为您在做什么的问题。他们是否认为您正在为他们定制产品,或者他们是否认为他们正在支付他们的宠物要求在您的功能队列中被提升?

#3


As an extreme standpoint: if all custom made code could not be used anywhere else anymore then at some point you will not be able to continue your business anymore without violating that rule.

作为一个极端的观点:如果所有自定义代码都不能在其他任何地方使用,那么在某些时候,如果不违反该规则,您将无法再继续开展业务。

As the opposite extreme: if all custom made code would end up in a generic product then no customer would provide their specific problems to you anymore.

相反的极端:如果所有定制代码最终都会出现在通用产品中,那么任何客户都不会再向您提供特定问题。

Of course both standpoints are quite extreme and are not likely to happen to that extent in my opinion.

当然,在我看来,这两个观点都非常极端,不太可能发生。

Personally I would state very clearly to a new customer that in general all (custom) code could be used in other products and projects, unless it is agreed in advance to not do so for specific parts of the code. Then if it is really important to them that certain parts stay behind closed doors they will let you know.

就个人而言,我会非常清楚地告诉新客户,一般而言,所有(自定义)代码都可以用于其他产品和项目,除非事先同意不对代码的特定部分这样做。然后,如果对他们来说真的很重要,某些部件会关在门外,他们会告诉你。