developers.html 6.04 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007,2008  Josh Coalson -->
<!-- Permission is granted to copy, distribute and/or modify this document -->
<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
<!-- or any later version published by the Free Software Foundation; -->
<!-- with no invariant sections. -->
<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
	<meta name="author" content="Josh Coalson" />
	<meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
	<meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
	<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
	<link rel="stylesheet" type="text/css" href="flac.css" />
    <link rel="alternate" type="application/atom+xml" title="FLAC News" href="feeds/news-atom1.xml"/>
	<title>FLAC - developers</title>
</head>

<body>

<div class="logo">
	<a href="index.html"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
</div>

<div class="above_nav"></div>

<div class="navbar">
	&nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
	&nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
	&nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
	&nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
	&nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
	&nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
	&nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
	&nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
	&nbsp;developers&nbsp;
</div>

<div class="below_nav"></div>

<div class="box">
	<div class="box_title">
		developers
	</div>
	<div class="box_header"></div>
	<div class="box_body">
		FLAC is an open source project and we are happy to enlist the help of anyone who wants to contribute, or to help with FLAC support in other programs and devices.  The preferred method of communication is the <a href="http://lists.xiph.org/mailman/listinfo/flac-dev">developer mailing list</a> (you must subscribe to post).<br />
		<br />
50
		FLAC is open to third-party developers who want to add support for FLAC into their programs.  All the necessary functionality is contained in the libFLAC libraries which are licensed under <a href="license.html">Xiph.org's BSD license</a>.<br />
51 52 53
		<br />
		Some pointers to developer documentation and code:<br />
		<ul>
54 55 56 57 58 59 60 61
			<li><a href="license.html">License</a> - The license under which the official tools are distributed.
			<li><a href="api/index.html">libFLAC and libFLAC++ APIs</a> - Complete library documentation.
			<li><a href="documentation_example_code.html">Example Code</a> - Some simple example programs demonstrating the use of libFLAC and libFLAC++.
			<li><a href="format.html">FLAC Format Specification</a> - The formal specification.
			<li><a href="ogg_mapping.html">Ogg FLAC Mapping</a> - How FLAC should be embedded in an Ogg container.
			<li><a href="id.html">ID Registration</a> - Register an ID if you need to write custom metadata.
			<li><a href="https://git.xiph.org/?p=flac.git;a%3Dsummary">Git access</a> - for checking out the source code.
			<li><a href="http://sourceforge.net/p/flac/bugs/">Bug Tracker</a> - to submit bug reports and patches
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
		</ul>
		More resources are available on the <a href="http://sourceforge.net/projects/flac">FLAC project page</a> on Sourceforge.net.
	</div>
	<div class="box_footer"></div>
</div>

<br />

<div class="box">
	<div class="box_title">
		goals
	</div>
	<div class="box_header"></div>
	<div class="box_body">
		Since FLAC is an open-source project, it's important to have a set of goals that everyone works to.  They may change slightly from time to time but they're a good guideline.  Changes should be in line with the goals and should not attempt to embrace any of the anti-goals.<br />
		<br />
		<b>Goals</b>
		<ul>
			<li>
				FLAC should be and stay an open format with an open-source reference implementation.
			</li>
			<li>
				FLAC should be lossless.  This seems obvious but lossy compression seems to creep into every audio codec.  This goal also means that <span class="commandname">flac</span> should stay archival quality and be truly lossless for all input.  Testing of releases should be thorough.
			</li>
			<li>
				FLAC should yield respectable compression, on par or better than other lossless codecs.
			</li>
			<li>
				FLAC should allow at least realtime decoding on even modest hardware.
			</li>
			<li>
				FLAC should support fast sample-accurate seeking.
			</li>
			<li>
				FLAC should allow gapless playback of consecutive streams.  This follows from the lossless goal.
			</li>
			<li>
				The FLAC project owes a lot to the many people who have advanced the audio compression field so freely, and aims also to contribute through the open-source development of new ideas.
			</li>
		</ul>
		<b>Anti-goals</b><br />
		<ul>
			<li>
105
				Lossy compression.  There are already many suitable lossy formats (<a href="http://www.xiph.org/vorbis/">Ogg Vorbis</a>, <a href="http://www.mp3-tech.org/">MP3</a>, etc.).
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
			</li>
			<li>
				Copy prevention, DRM, etc.  There is no intention to add any copy prevention methods.  Of course, we can't stop someone from encrypting a FLAC stream in another container (e.g. the way Apple encrypts AAC in MP4 with FairPlay), that is the choice of the user.
			</li>
		</ul>
	</div>
	<div class="box_footer"></div>
</div>


<div class="copyright">
	<!-- @@@ oh so hacky -->
	<table>
		<tr>
			<td align="left">
				Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007,2008  Josh Coalson
			</td>
			<td width="1%" align="right">
				<a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
			</td>
		</tr>
	</table>
</div>

</body>
</html>