parent
bee1df385f
commit
440b8de53b
52
DevGuide.md
Normal file
52
DevGuide.md
Normal file
@ -0,0 +1,52 @@
|
||||
## Development guide
|
||||
|
||||
The programming language of libburnia is ANSI C. Its build system is autotools,
|
||||
but the sources do not depend on that. The target operating systems for now
|
||||
are Linux with kernels >= 2.4, FreeBSD, NetBSD, Solaris, OpenBSD. Other X/Open
|
||||
compliant systems are supported for POSIX i/o but not for MMC/SCSI command
|
||||
transactions, which are needed for operating optical drives directly.
|
||||
|
||||
Any special dependency to the operating system must be in source
|
||||
files separate from the generally portable C code.
|
||||
|
||||
Please try to keep the current coding style in each of the source files you
|
||||
want to change.
|
||||
|
||||
The APIs and ABIs of released library versions are strongly protected towards
|
||||
the future. Substantial effort must be made in order to maintain compatibility
|
||||
to the previously released version. A break of compatibility and thus
|
||||
incrementing of SONAME is only the outmost last resort, if ever. This shall
|
||||
ensure that applications can be linked dynamically with all libraries which
|
||||
are younger than the versions which where present at compile time.
|
||||
|
||||
|
||||
### Patches
|
||||
|
||||
Patches should be submitted to mailing lists
|
||||
`pkg-libburnia-devel@lists.alioth.debian.org` or `bug-xorriso@gnu.org`.
|
||||
When starting to work on something, please announce this in advance,
|
||||
explain the problem you want to address and the idea how to solve it,
|
||||
if such an idea already exists.
|
||||
|
||||
Expect your patch to be discussed and possibly to be modified before being
|
||||
applied.
|
||||
|
||||
By contributing code, you accept that smaller code pieces go under copyright
|
||||
of respective module copyright owners. If your code is substantial enough
|
||||
to create own copyright, you will have to release it under LGPL version 2,
|
||||
so that we can now derive GPLv2-or-later but are free to switch in future
|
||||
to LGPLv2.
|
||||
|
||||
|
||||
### Commit policy
|
||||
|
||||
A general rule of a thumb is to make more small patches or commits instead
|
||||
of one huge commit.
|
||||
Please be descriptive in your commit messages.
|
||||
|
||||
|
||||
### Releases
|
||||
|
||||
Releases are normally performed by Thomas Schmitt.
|
||||
Release preparation includes a feature freeze and careful testing.
|
||||
|
Loading…
Reference in New Issue
Block a user