diff --git a/CONTRIBUTING b/CONTRIBUTING index d01fc128..13eeb6f2 100644 --- a/CONTRIBUTING +++ b/CONTRIBUTING @@ -1,53 +1,52 @@ All functionality should be available in pure Python. Optional C implementations may be written for performance reasons, but should never replace the Python implementation. The C implementations should follow the kernel/git coding style. Where possible include updates to NEWS along with your improvements. New functionality and bug fixes should be accompanied by matching unit tests. Coding style ------------ Where possible, please follow PEP8 with regard to coding style. Furthermore, triple-quotes should always be """, single quotes are ' unless using " would result in less escaping within the string. Public methods, functions and classes should all have doc strings. Please use epydoc style docstrings to document parameters and return values. You can generate the documentation by running "make doc". Running the tests ----------------- To run the testsuite, you should be able to simply run "make check". This will run the tests using unittest on Python 2.7 and higher, and using unittest2 (which you will need to have installed) on older versions of Python. $ make check Tox configuration is also present as well as a Travis configuration file. String Types ------------ Like Linux, Git treats filenames as arbitrary bytestrings. There is no prescribed encoding for these strings, and although it is fairly common to use UTF-8, any raw byte strings are supported. For this reason, Dulwich internally treats git-based filenames as bytestrings. It is up to the Dulwich API user to encode and decode them if necessary. * git-repository related filenames: bytes * object sha1 digests (20 bytes long): bytes * object sha1 hexdigests (40 bytes long): str (bytestrings on python2, strings on python3) Merge requests -------------- Please either send pull requests to the author (jelmer@jelmer.uk) or create new pull requests on GitHub. Licensing --------- -Dulwich is currently licensed under the GNU General Public License, version 2 -or later. We would like to change the license to Apachev2 or later eventually; -new contributions should be made under dual GPLv2+/Apachev2+. +All contributions should be made under the same license that Dulwich itself comes under: +both Apache License, version 2.0 or later and GNU General Public License, version 2.0 or later. diff --git a/relicensing-apachev2.txt b/relicensing-apachev2.txt deleted file mode 100644 index 0cca5735..00000000 --- a/relicensing-apachev2.txt +++ /dev/null @@ -1,12 +0,0 @@ -At the moment, Dulwich is licensed under the GNU General Public License, -version 2 or later. - -We'd like to relicense Dulwich under the Apache v2 (or later) license, as -the GPL is problematic for many free software Python projects that are under -BSD-style licenses. See also https://github.com/jelmer/dulwich/issues/153 - -For reference, a full copy of the Apachev2 license can be found here: -https://www.apache.org/licenses/LICENSE-2.0 - -New contributions to Dulwich should be dual licensed under the GNU GPLv2 (or -later) and the Apachev2 (or later) licenses.