From Fedora Project Wiki

Welcome to Open Source Development

First, I want to thank everyone who makes it necessary to write this page. I get really excited when there are new people around. It recharges me and reminds me why I got so excited about Open Source in the first place.

Second, I understand that at first glance the Open Source Development model resembles a heard of cats, especially in an organization as big as Fedora. But rest assured there is a method to the madness.

Third, this is by no means a complete how-to. Most of what you need to know will be gained by simply interacting with the community. The info on this page is to help you get over the most basic of barriers. Once you're in the hands of real people, you'll overcome the learning curve in short order.

Development

The beauty of Open Source is that anyone can make changes to the software they are using. This means that you do not have to ask for permission or wait for an assignment to begin your work.

The next most important part of the Open Source Development model is releasing your code and documenting your work. Projects, including the one you're working on, will grow and improve based on community involvement. In fact, you might be surprise what others will fix and add, so please don't keep your everything to yourself. We really want to see it - no matter what stage it's in.

Communications

While there are pockets of developers who can meet face to face to discuss projects, the majority of people you will interact with are located world wide. Because of this, we rely heavily on Mailing lists, Internet Relay Chat (IRC), and wikis to keep everyone connected and informed.


Mailing lists are the life blood of Open Source projects, but you may have to re-think the way you organize your email to maintain sanity. To keep yourself and others from becoming confused, you should...

  • Filter messages into their own folder. Most lists will have a common subject element such as [Math4], [Ambassadors], [etc] or you can use the "when the to or CC is" function to filter by the list email address.
  • Sort by Thread. Better Email clients will allow you to further sort your messages by Thread. This simply keeps replys together and in a logical order. If your email client doesn't do this or you're not sure how to set it up, you can also visit the mailing list archives by following the link at the bottom of every list message and choosing to view by thread.
  • Pick a good subject line. Think of it as the title of a good book and choose something that is descriptive. On high volume lists, your message may not get read if it's not clear what you're asking or suggesting. This is also helpful when someone searches the archives.
  • Change your subject line when the topic changes. Tangents can be good but anyone who initially ignored a thread will miss the shift. This is also known as on-topic. If it's not completely on-topic it needs it's own subject.
  • Avoid Cross Posting. Most mailing lists are very specific, and sometimes it can be hard to determine the best location to send your message. By picking a single mailing list, you'll avoid the ire of those who are subscribed to multiple lists. Multiple lists means multiple copies of the same message in those user inboxes. We're all guilty of it but we try to keep it to a minimum.
  • Include plenty of background information with your questions. Especially where you've already look for answers. You will get a better response if there is less triage and duplication of efforts.

IRC Internet Relay Chat has been around since the lat 1980s but the fact that it is one of our primary communication tool speaks to it's continued relevance. While messaging systems have evolved over the decades, IRC remains as a universal because any computer with basic networking protocols can connect to IRC.

IRC serves an important role by allowing users to communicate in real time, but there are times when you'll find very few people chatting in a particular channel. If you have a question and it seems there isn't anyone home, please send your message to the mailing list.

If you have a particular person you'd like to talk with, ping them by entering their screen name exactly as it appears. This will send an alert - either an icon change, flashing window, sound or combination. Often times, IRC will be open but will be minimized or otherwise covered while the user works on other things. Ping is the best way to get their attention.

Like anything, IRC will become more familiar the more you use it - especially if you ask questions.

Wikis This is another area where you do not need permission to create but you should take a moment at Help:Editing before you dive in too deep.

If you're still not feeling Bold start at your User: page or create a /subpage. Items can and will be moved around over time.

Also, there is help editing beyond what's written at Help:Editing#Editing_with_Mediawiki please don't hesitate to ask someone.