Hi, all,

Some new functions we want to add into Trafodion will depend on code that 
originally come from PostgreSQL. So we would like to know what to be aware if 
we want to add/port source code from other open source project like PostgreSQL.
>From some discussion with Steve, Hans, Roberta and Gunnar, I get some very 
>good guidance. I sum it here, and if people have more input, it will help a 
>lot.

It is allowed by Apache license to add PostgreSQL code into Apache project: 
http://www.apache.org/legal/resolved.html

Here are some advices to add code from other open source project into Trafodion 
(Thanks Steve and Roberta to write this up) :

1)      When you copy code, you must retain the original copyright or license 
statements from that code.

a.       If there were no original license headers in the code, then it might 
be a good idea to put in a comment at very top stating where/when it was copied 
from, but there is no standard for that as far as I know.

2)      You should only add the Apache license header (below the original) if 
substantial changes are made from the original.

3)      You should run RAT tool (instructions are on wiki) to see what it 
reports on the files with postgres headers. If the files end up with both 
headers, RAT should not report any problem.

a.       You should only add the files to the .rat_exclude file if RAT reports 
them as a problem.

b.       If so, then you should also add explanation of the file licenses in 
RAT_README.

4)      There should also be a statement in the main LICENSE file(s) indicating 
that some of the code is under the postgres license. It should indicate which 
files it applies to and have a copy of that license statement. If this code is 
going into SQL code, it should be added to the licenses/lic-server-src file, so 
when we construct the final LICENSE files, it goes into the right places.

5)      as part of releasing the product, a scan of copyright notices should be 
performed to make sure all have been addressed in the license file.

6)      RAT reports are run during builds so if there are issues, the build 
will fail.

This may still not be the full checklist, so please share your ideas here in 
this discussion if you have suggestions/concerns/objections, etc.. We wish to 
benefit from the open source code instead of reinventing the wheel when it is 
allowed.

thanks,
Ming

Reply via email to