From Fedora Project Wiki
No edit summary
 
(5 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{admon/tip|Thomas Jefferson once said|"The fact is, that one new idea leads to another, that to a third, and so on through a course of time until someone, with whom no one of these ideas was original, combines all together, and produces what is justly called a new invention."}}
=Welcome to Open Source Development=
=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.   
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.  
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==
==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 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.  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 code to yourself.  We really want to see it - no matter what stage it's in.   
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 surprised by what others will fix and add, so please don't keep everything to yourself.  We really want to see it - no matter what stage it's in.   


==Communications==
==Communications==
Line 17: Line 20:
* 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.   
* 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.   
* 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.   
* Pick a good subject line.  Think of it as the title of a good book and choose something 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.   
* Change your subject line when the topic changes.  Tangents can be good but anyone who initially ignored a thread will miss the shift.  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.   
* 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 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 looked for answers.  You will get a better response if there is less triage and duplication of efforts. 


'''IRC'''
'''IRC'''
[http://en.wikipedia.org/wiki/Internet_Relay_Chat 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.   
[http://en.wikipedia.org/wiki/Internet_Relay_Chat Internet Relay Chat] has been around since the late 1980s, but, our continued use speaks to its relevance as a primary communications tool. While other messaging systems have been invented 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 on 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.   
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.   
Line 31: Line 36:


'''Wikis'''
'''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.   
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.   
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.
Also, there is help editing beyond what's written at [[Help:Editing#Editing_with_Mediawiki]] please don't hesitate to ask someone.

Latest revision as of 15:42, 29 May 2009

Thomas Jefferson once said
"The fact is, that one new idea leads to another, that to a third, and so on through a course of time until someone, with whom no one of these ideas was original, combines all together, and produces what is justly called a new invention."

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 surprised by what others will fix and add, so please don't keep 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 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. 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 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 looked 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 late 1980s, but, our continued use speaks to its relevance as a primary communications tool. While other messaging systems have been invented 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 on 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.