206 |
Classpath Hacker’s Guide</a>, and pick up a <createlink name="task" url="tasks.html"> from the list! |
Classpath Hacker’s Guide</a>, and pick up a <createlink name="task" url="tasks.html"> from the list! |
207 |
</faq> |
</faq> |
208 |
|
|
209 |
<faq question="Can I look as Sun's sources to get inspiration?"> |
<faq question="Can I look at source code distributed with other |
210 |
No. In fact, if you read Sun's sources we can't accept any code from you. |
implementations to get inspiration?"> |
211 |
|
If you are going to contribute source code to GNU Classpath we must |
212 |
|
make sure that you have not studied the source code of the JDK/JRE or |
213 |
|
decompiled any of its classes. Furthermore you must not have signed |
214 |
|
any non-disclosure agreements with Sun or other companies in regard |
215 |
|
with java technology that might cover the core class libaries or |
216 |
|
tools. The reason for this requirement is that we want to make sure |
217 |
|
that Sun or any other company cannot rightfully claim that GNU |
218 |
|
Classpath infringes their copyright. You are therefore questioned |
219 |
|
about your experience with other implementations of similar source |
220 |
|
code and any agreements with companies you might have signed when you |
221 |
|
request to contribute to GNU Classpath. |
222 |
|
<p> |
223 |
|
Please note that this does not mean you cannot help GNU Classpath at |
224 |
|
all in such a case. Here is a list of things you can do instead: |
225 |
|
<ul> |
226 |
|
<li>write Mauve test cases</li> |
227 |
|
<li>write example applications demonstrating the usage of the packages</li> |
228 |
|
<li>writing/fixing helper programs (like japitools) and scripts</li> |
229 |
|
<li>report bugs</li> |
230 |
|
<li>help fixing the documentation</li> |
231 |
|
<li>help in other related Free software projects |
232 |
|
(e.g. virtual machine development, |
233 |
|
<createlink name="GUMP" url="http://gump.apache.org/">) |
234 |
|
</ul> |
235 |
|
<p> |
236 |
|
Here are some rough guidelines for deciding whether or not it would be |
237 |
|
wise to accept a contribution from someone that studied source code |
238 |
|
for another implementation of the core libraries or is under contract |
239 |
|
with some company covering implementations of core library classes. |
240 |
|
<p> |
241 |
|
If the developer got access to the source code by signing some |
242 |
|
contract (like the SCSL) with Sun then it would be best to examine |
243 |
|
that contract (by FSF legal) before deciding. |
244 |
|
<p> |
245 |
|
If the developer just accidentally saw some of the source code and had |
246 |
|
no intention (and didn't actually) study the implementation (with the |
247 |
|
intention of contributing to GNU Classpath) there is no problem. |
248 |
|
<p> |
249 |
|
Studying a proprietary implementation with the intention of |
250 |
|
implementing it (better) for GNU Classpath is a clear no-no. |
251 |
|
<strong>The general rule is that if you have looked at or studied any |
252 |
|
(proprietary) implementation of a package you should not work on that |
253 |
|
package for GNU Classpath.</strong> That is because it would be |
254 |
|
difficult to proof that you really did an independent |
255 |
|
implementation. Since what you create might look very similar (which |
256 |
|
is not unlikely). Working on something completely unrelated is OK (as |
257 |
|
long as there are no contractual obligations with Sun or some other |
258 |
|
company to not do this of course). |
259 |
|
<p> |
260 |
|
The important thing is that we want to be clear on the fact that we |
261 |
|
created an independent implementation. We don't want to get into |
262 |
|
tricky legal situations. We want to avoid risking to go to court over |
263 |
|
reverse engineering or clean room situation questions if not |
264 |
|
absolutely necessary. That is why we in general just say "please don't |
265 |
|
contribute if you looked at other implementations". If someone thinks |
266 |
|
that their actions might be explained as copying directly or |
267 |
|
indirectly another (proprietary) implementation then that could be a |
268 |
|
problem that we want to avoid. |
269 |
|
<p> |
270 |
|
FSF Legal will always advise not to take any unnecessary risks that |
271 |
|
might endanger the (perceived) free software status of a GNU |
272 |
|
project. (If we might need to go to court to proof that what we did |
273 |
|
was OK, then don't!) |
274 |
|
<p> |
275 |
|
This isn't a GNU Classpath project specific issue. |
276 |
|
See <createlink name="GNU: Reading Non-Free Code" |
277 |
|
url="http://www.gnu.org/prep/standards/html_node/Reading-Non_002dFree-Code.html">. |
278 |
</faq> |
</faq> |
279 |
|
|
280 |
<faq question="I'm tainted by; can I help anyway?"> |
<faq question="I'm tainted by; can I help anyway?"> |