On Mon, Nov 17, 2008 at 8:47 AM, gedmurphy <gedmurphy(a)gmail.com> wrote:
Steven, do Wine have any thoughts on this?
I only brought this up so it doesn't look like we're ignoring Wine's
requests.
I propose we try to adopt a simple set of guidelines for how to handle
Wine (or for that matter any other) code that is derived in ReactOS
source files. The KEY thing is we want to keep it fun and not add a
bunch of work otherwise no one will want to do it. If we need to do an
audit later having some simple rules in place will save us some
trouble. I think the rule of thumb should be something like
- if you copy an entire source file from Wine with only minor
changes, such as we've done in a lot of places in advapi32 or
kernel32, leave the original license header with authors place. Add a
GPL header on top for your changes if you hate all things LGPL or add
yourself to the original Wine header with a comment that you did the
ReactOS changes.
- If you copy a function from Wine verbatim or with very minor
changes but are adding that to a source file containing mostly ReactOS
original code, put a comment in the comment block above the function
that its came from Wine (in case we want to audit later). In the
ReactOS license header, attribute the Wine author that you 'think' is
the original author based upon the Wine license header. It's not your
fault if they did not make it clear in the source file which author
implemented what functionality and if you got the Wine source via
tarball or something, its not like you have a method of checking the
revision history anyway.
- If your doing major hacking on a function that is derived from Wine
sources, I don't think its too much trouble for you to fire up a
browser and hit
http://source.winehq.org/git/wine.git/?a=tree to see
who the original author is and note this in the license header. Again,
this brings in to question, how much of the original work remains
after your changes? It's a judgement call. I think the rule of thumb
should be, if you were going to add a comment to SVN saying 'from
Wine' then you need to credit the original author.
- If your work really has no resemblance to the original Wine code,
the original Wine code was totally wrong and you had to rewrite the
whole thing, then you don't need to credit Wine at all. If you just
want to credit them you can always say something like 'inspired by
Wine'
Alexandre tends to avoid accepting formatting changes so using 'git
blame file.c' is pretty safe. Another thing you can try doing is
grepping the Changelog for the function name and see who's credited as
the author. I don't think either of these processes take very long but
I don't think that ReactOS developers need to go through all of the
trouble in every case. We already have a lot of Wine derived code used
in a large number of places, so it does not make sense to try to go
back and audit everything right now. We don't want to make it too much
of a painful process to do something simple like attribution.
If these suggestions seem like too much work or too much process, feel
free to disregard them. I will just keep pestering you if I see a
bunch of 'from Wine' svn commits with no attribution on them. =)
--
Steven Edwards
"There is one thing stronger than all the armies in the world, and
that is an idea whose time has come." - Victor Hugo