Subject: Rules of Open-Source Programming - Summary

From: Shlomi Fish <[email-masked]>
Date: Fri, 14 Dec 2001 17:21:33 +0200 (IST)

Well, I collected the rules in a PostgreSQL database and wrote a perl
script to render them into text, into a forutne file, and into a verbose
record file.

I assigned them numbers, and made sure consecutive rules appear on
concsecutive numbers. If anyone has any objections to the rules as a
whole, let me know. (always take the Meta-Rules into account)

Here is the text rendering:

The Rules of Open-Source Programming

1. Don't whine unless you are going to implement it yourself.

4. If you don't work on your project, chances are that no one will.

5. A project is never finished.

6. The user is always right unless proven otherwise by the developer.

7. Release early, release often. Clean compilation is optional.

8. Open-Source is not a panacea.

9. Give me refactoring or give me death!

11. When a developer says he will work on something, he or she means
"maybe".

13. Your first release can always be improved upon.

15. If you like it, let the author know. If you hate it, let the author
know why.

20. Open Code != Good Code

22. Backward compatiblity is your worst enemy.

23. Backward compatiblity is your users' best friend.

31. You are your best tester

32. Your users are your second best testers

33. Your test-cases and test-scripts are your worst testers

37. Duplicate effort is inevitable. Live with it.

48. The number of items on a project's to-do list always grows or
remains constant.

--------------------

I'll put the PostgreSQL database dump and the perl script in our files
section soon.

Regards,

	Shlomi Fish

----------------------------------------------------------------------
Shlomi Fish        [email-masked]
Home Page:         http://t2.technion.ac.il/~shlomif/
Home E-mail:       [email-masked]

"Let's suppose you have a table with 2^n cups..."
"Wait a second - is n a natural number?"

---

From: Shlomi Fish <[email-masked]>
Date: Sat, 15 Dec 2001 13:47:23 +0200 (IST)

Hi!

I forgot a rule or two. They were added to the database, but I did not
post an updated list so far.

Oleg, is it OK that I mention Hackers-IL as I propogate the list further?
I'd like to post it to Advogato, and see what people there make of it and
can add.

Regards,

	Shlomi Fish

---

From: Oleg Goldshmidt <[email-masked]>
Date: 16 Dec 2001 10:44:34 +0200

Shlomi Fish <[email-masked]> writes:

> Oleg, is it OK that I mention Hackers-IL as I propogate the list
> further?  I'd like to post it to Advogato, and see what people there
> make of it and can add.

Why are you asking me? Because I once objected to a rather arbitrary
attribution to hackers-il of a controversial and legally tricky and
dangerous piece of software (I don't remember the details, but I think
it was your JS version of DeCSS, wasn't it?)? My point was that one
should think extra hard before dragging others into potentially muddy
waters. Was it my Soviet background at work? I don't even want to
think about this. ;-)

This one is quite benign in comparison, of course.

You don't need my permission to publish your OS programming
rules. What I suggest you consider on a case by case basis is the
following: who is the author of <whatever you want to publish>? You
need to be careful both ways: not to tread on others' rights,
copyrights, and sensitivities, and not to attribute authorship to
anyone without permission.

In this particular case I didn't author any of the rules. With regards
to "prior art" if I were you I'd check a couple of things (e.g. has
ESR ever written anything like that? Is it substantially different
from the Bazaar rules? ;-). As for hackers-il, if you wish to assign
authorship to the group you need to ask the group if there are
objections. I don't own the list (if anyone, I think Chen does - she
created it, IIRC). If you want to state that the original version was
discussed at hackers-il, it will be merely a statement of the fact and
you obviously don't need anyone's permission. So yes, it's OK as far
as I am concerned ;-).

-- 
Oleg Goldshmidt | [email-masked] 
"If it ain't broken, it has not got enough features yet."