2012-06-08 6 views
10

Я портировал код с C на C#, а также добавил некоторые новые функции в портированный код. Оригинальный код находится под лицензией MPL.Код, перенесенный с одного языка на другой - лицензирование

Это оригинальный исходный код условия лицензии:

/* 
* file name 
* Version ..... 
* 
* Copyright (c) 2004-2012 by XXX YYY 
* 
* The contents of this file are subject to the Mozilla Public License Version 
* 1.1 (the "License"); you may not use this file except in compliance with 
* the License. You may obtain a copy of the License at 
* http://www.mozilla.org/MPL/ 
* 
* Software distributed under the License is distributed on an "AS IS" basis, 
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 
* for the specific language governing rights and limitations under the 
* License. 
* 
* The Original Code is file.c 
* 
* The Initial Developer of the Original Code is XXX YYY. 
* 
* Portions created by XXX YYY are Copyright (C) 2004-2012 
* XXX YYY. All Rights Reserved. 
* 
*/ 

Могу ли я изменить лицензию для перенесенного кода и включают в себя оригинальные лицензии исходный код условия исходного кода таким образом:

// 
// test.cs 
// 
// Author: 
// "My Name" ([email protected]) 
// 
// Copyright (c) 2012 My Name 
// 
// Permission is hereby granted, free of charge, to any person obtaining 
// a copy of this software and associated documentation files (the 
// "Software"), to deal in the Software without restriction, including 
// without limitation the rights to use, copy, modify, merge, publish, 
// distribute, sublicense, and/or sell copies of the Software, and to 
// permit persons to whom the Software is furnished to do so, subject to 
// the following conditions: 
// 
// The above copyright notice and this permission notice shall be 
// included in all copies or substantial portions of the Software. 
// 
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 
// 
// Parts of this source code are ported from C to C# by "My Name". 
// 
// The Original Code is file.c (http://original-source-code-link.com); 
// and under Mozilla Public License Version 1.1 (http://www.mozilla.org/MPL/) 
// The Initial Developer of the Original Code is XXX YYY ([email protected]). 
+2

Не лучшее, что нужно сделать, чтобы проверить http://www.mozilla.org/MPL/ и посмотреть, что он может сказать по этому вопросу? – JAB

ответ

2

Порт - это просто модификация кода.

Вы находитесь в нарушение раздела 3.1 и 3.4 MPL, что состояние соответственно:

Все распределение Распространяется программного обеспечения в виде исходного кода, включая любые изменения, которые вы создаете или к которой вы способствуете , должны соответствовать условиям настоящей Лицензии. Вы должны сообщить получателям, что форма исходного кода Покрытого программного обеспечения регулируется условиями настоящей Лицензии и как они могут получить копию этой Лицензии. Вы не можете пытаться изменить или ограничить права получателей в форме исходного кода.

...

Вы не можете удалять или изменять содержание каких-либо лицензионных уведомлений (включая уведомления об авторских правах, патентных заявок, отказ от ответственности по гарантии, или ограничения ответственности), содержащиеся в кодовой форме Источника Крытого программного обеспечения, за исключением того, что Вы можете изменять любые уведомления о лицензии в объеме, необходимом для устранения известных фактических неточностей.

Таким образом, ответ отрицательный, ваш код должен содержать условия MPL и хранить исходный блок комментариев.

+1

Портирование это НЕ модификация кода. Это производная работа. – dAm2K

+1

@ dAm2K: Модификация часто используется для описания того, как производится производная работа. Поэтому я не стану противопоставлять оба условия друг другу. – hakre

0

Из MPL FAQ:

Q9: Я хочу распространять (вне моей организации) лицензионный источник MPL код, который я изменил. Что мне нужно сделать?

Чтобы просмотреть полный список требований, ознакомьтесь с лицензией. Однако, обычно:

  • Вы должны сообщить получателям, что исходный код становится доступным к ним в соответствии с условиями MPL (раздел 3.1), включая любые Изменения (как определено в разделе 1.10) следует, что вы создали.

  • Вы должны предоставить гранты, описанные в разделе 2 лицензии.

  • Вы должны соблюдать ограничения на удаление или изменение уведомлений в Исходный код (раздел 3.4).

Видя, как вы сначала перенесли источник, а затем изменили его, вам нужно разрешения автора оригинала для порта. После этого вам нужно будет следовать инструкциям в ответе выше, потому что вы изменили код.

Вы также можете взглянуть на это question.

+0

Где в FAQ упоминается о необходимости разрешения на перенос кода? – Attila

+0

В ЧаВо не указано, что ответ в связанном вопросе. – thomaux

+0

@Attila: Это также авторское право.Вам требуется разрешение на перенос/перевод кода. MPL как лицензия бесплатного программного обеспечения позволяет вам (!), Но вы должны соблюдать его требования, здесь copyleft, так что вам нужно поместить ваш перевод/модификацию в MPL. Если вы этого не сделаете, у вас нет права на порт. Итак, чтобы получить права на перевод - что вам нужно - вам нужно поместить свои вещи в MPL. – hakre

3

Портирование некоторого кода переводит некоторый код (сравните это с переводом книги кого-то еще) и, следовательно, подлежит авторскому праву. Вы создаете производную работу.

И кстати. никогда не изменяйте авторские кредиты и записи об авторских правах. Это нехорошо, вы просите о том, чтобы законно это делали. Так что скопируйте исходное утверждение дословно, не калечите его.

Также вы обычно не можете поместить файл под лицензией MIT, в то время как части его находятся под MPL AFAIK, но IANAL JASD.

Почему бы просто не лицензировать файл под MPL? Это самое лучшее предложение, которое вы можете дать вам. Для всего остального вы должны пойти прямо к своему адвокату.

http://en.wikipedia.org/wiki/Mozilla_Public_License


Если вы серьезно хотите положить ту часть работы, которая свою работу в соответствии с лицензией, вы должны сделать очень видно, где ваша работа, а где оригинал работы.

Мне очень трудно переносить порт/перевод, чтобы это было видно, и я сомневаюсь, что это возможно.

И это только технически, потому что, даже если вы в состоянии, это ничего не говорит о совместимости с лицензиями. Уверен, что вам также нужна лицензионная совместимость.

Итак, из-за этих двух причин вы должны действительно рассмотреть возможность выпуска его под той же лицензией, что и MPL, имеет copyleft.

0

Сказав, что вы , портируете код, в котором вы явно делаете производную работу, и в этом случае вам необходимо соблюдать лицензию исходного кода.

Тем не менее, можно сделать переоформление «чистой комнаты» API, где вы можете использовать любую лицензию. Это в основном означает, что вы печатаете документацию Doxygen и код только на основе этого. Если кто-нибудь задаст вам вопросы, вам нужно будет доказать, как вы это делали, т.е. используя записи фиксации SCM и т. д. Обычно этого не стоит делать, поскольку он требует такой же работы, как разработка исходного программного обеспечения.

Портирование - это лишь небольшая часть усилий по разработке; вам не нужно разрабатывать и очень мало шансов внедрить ошибки. Так почему вы хотите взять кредит? Бьюсь об заклад, XXX YYY будет злиться. Я бы !

Смежные вопросы