How To Get Started With Open Source: A Guide For Beginners in Open Source Open Voices, Issue 9
How To Get Started With Open Source: A Guide For Beginners in Open Source Open Voices, Issue 9
Copyright
Copyright 2014 Red Hat, Inc. All written content licensed under a Creative Commons AttributionShareAlike 3.0 License.
Introduction
Taking the first steps in any journey can be scary. There are new obstacles to hurdle, unfamiliar
landscapes to traverse, and usually the destination is shrouded in mystery. But that's also what makes
new ventures exciting and worthwhile.
The collection of stories in this eBook are about striking out on the open source way. Whether you're an
individual, seeking information on moving away from closed software, or an organization looking for
free and open alternatives to the utilities that help your business succeed, these are stories about finding
your footing in the world of open source. Several are origin stories about how experts discovered
open source, and how they've flourished in the time since. Others are focused guides on finding the
right software, using a specific open source tool, or introducing your neighborhood or town to the
power of the open source way.
Remember that it's not easy to get started with anything new, but, as an old Buddhist saying goes, It is
better to travel well than to arrive. We hope these stories will help you travel well along the open
source way, and keep you traveling for years to come.
Bruce Schneier, "Public security is always more secure than proprietary securityFor us, open source
isn't just a business model; it's smart engineering practice."
Developing code in an open source fashion is an expression of a technique. Software, in our world,
should be treated as a service which can be customized based on the specific needs of a user, rather
than merely as a product.
I know a lot of people involved at different levels of open source projects. All of them are driven by
their commitment to reach technical and professional excellence, and to add to the existing body of
technology knowledge. The entire ecosystem of open source is built on that commitment. The Linux
operating system, for example, with its proven track record of stability and security, forms the
backbone of complex infrastructures and data centers world over. The same benefits that help Linux
and other open source tools succeed at the enterprise level can be reaped by small businesses, too.
A couple of months back, I read Thomas Friedman's The World is Flat. An otherwise helpful and
insightful book, the author seems to host a thought process that open source is contrary to the
developers' right to make a profit. A lot of people who think that way do not see the forest for the trees.
They see free software, they see Linux, but they miss the multi-billion dollar ecosystem that surrounds
open source. Its true that Brian Behlendorf, the person who orchestrated Apache web server, did not
make a dime off it, but the immense value that this server has added to the economy and the legions of
small to medium size businesses that use this infrastructure is an important contribution. Free software
developed by a community is not tantamount to insecurity.
Mailing lists
Since it spans timezones, continents, and languages, most of the communication around OpenStack
happens on mailing lists.
There are a LOT of mailing lists, but there's one main one: [email protected]. You can
subscribe or look at the archives. Rather than splitting technical discussion by sub-project, it's all in one
place, with subject line tags where appropriate. For example, a discussion of Ceilometer would be
indicated by [ceilometer] in the email subject line. The disadvantage of this approach is, of course, the
high volume of the listaround 100 messages per day. The advantage, however, is that you don't have
to subscribe to a dozen other lists to get a comprehensive picture of what's going on and risk missing
out on some sub-project you were unaware of.
There are also lists for cloud operators, for foundation governance, security, and various other subteams. View the complete list.
Once you've decided what list(s) you want to be on, you should listen quietly for a while to get an idea
of the tone of the conversation and who the main speakers are. Read the mailing list etiquette guide for
tips on local cultural conventions.
ask.openstack.org
While discussions about the direction of the project happen on the mailing lists, Q&A conversations
happen on http://ask.openstack.org/ in a Stack Overflow style forum. This is the place to go if you have
questions about OpenStack, or if you wish to help answer others' questions.
Participants in the forum earn 'karma' points that give them access to greater levels of privilege and
responsibility, such as moderating questions, editing questions and responses, and adding tags to
conversations. The more you do, the more you can do.
IRC
If you prefer real-time conversation, there are a number of OpenStack-related channels on the Freenode
IRC network. They are all fairly quiet, since ask.openstack.org carries the main weight of conversation,
but there's generally a large crowd (837 on the #openstackchannel as I'm writing this) and someone will
usually answer a question pretty quickly.
The #openstackchannel is for general discussion and Q&A. The#openstack-101 channel is for beginner
questions that you might feel embarrassed asking elsewhere.
#openstack-community is a channel where people conduct meetings to discuss a wide variety of
OpenStack-related topics. A meeting bot takes notes so that they can be reported back to various parts
of the community. #openstack-community is a good place to find out about local OpenStack user
groups in your area and discuss various community events.
Events
Speaking of events, there's always something going on somewhere related to OpenStack.
There are two main conferences every year, one in the United States and one elsewhere, where the next
six months of OpenStack development is discussed and technical presentations are given on the various
aspects of the project.
The next one of these is the OpenStack Summit which will take place in Atlanta, Georgia from May
12-16, 2014. Get more details and register to attend on the website. Then, the next Summit will be held
in November 2014 in Paris, France. Many sessions are recorded. You can watch presentations from
OpenStack Summit Hong Kong, last year.
In addition to these major events, smaller local events are always happening and listed on the site.
OpenStack meetups can be two people meeting to chat to hundreds of attendees gathering for formal
presentations. Regional user groups are listed and if there isn't one in your area, consider starting one
up. All you need is another person who wants to meet to talk OpenStack.
Do something
In the end, if you want to get involved in OpenStack, or any open source project, the trick is to just do
something. If you wait around for someone to tell you what to work on, you'll be waiting a long time.
Step up and answer a question, fix a typo, patch a bug, or go to an event.
See you in the community!
Get started in open source online and offline
By Robin Muilwijk (originally published February 2014)
What skills do you need and which projects should you participate in as beginner in open source?
These are common questions for beginners to open source software, hardware, communities, and
methodologies. New folks to open source can start their discovery online and offline. Events and
projects of many different kinds will help beginners find what they are good at and allow them to get to
know their own skills.
Code School
Codeschool takes a different approach for learning; students take what they call "paths" to Ruby,
Javascript, HTML/CSS and iOS. Where Codecademy provides its courses in online reading material,
Codeschool presents them through video lessons and challenges.
Each "path" contains several lessons that take you through a specific programming language. Again, no
extra setup is required, just the site and your browser. What makes Codeschool interesting is that they
also provide a course in programming apps for the iPhone and iPad.
Code.org
Code.org is known for its Hour of Code program and offers similar courses such as Javascript and
Python but also tutorials for beginners. These beginner tutorials let you solve puzzles in a Scratch-like
environment based on the Angry Birds game, teaching you concepts like repeat-loops, conditionals, and
basic algorithms.
Code.org clearly states the age category to which the courses apply, and the requirements to follow
them, which in most cases is a browser or an iOS or Android device.
Scratch
For the youngest beginners (age 8+) in open source, there is the popular programming language
Scratch.
Scratch is a programming language and an online community where children can program
and share interactive media such as stories, games, and animation with people from all
over the world. As children create with Scratch, they learn to think creatively, work
collaboratively, and reason systematically.
Scratch has a very user and kid-friendly interface. It teaches kids the very basics of programming.
Scratch provides information for educators and parents, making it easy to adapt in classrooms or at
home.
Coderdojos
Exploring Coderdojos was inspired by two of my previously published interviews with Lune van Ewijk
(Digital Girl 2013) and Julie Cullen (Ambassador for Ireland during Europe Code Week 2013).
CoderDojo: The open source, volunteer led, global movement of free coding clubs for
young people.
CoderDojo is a non-profit global movement and was founded in 2011 by James Whelton and Bill Liao.
Because CoderDojos are open source by nature, every Dojo is different and autonomous. Young people
between the ages of 7 and 17 meet at Dojos to learn how to program apps, games, software, and more.
In the true spirit of the open source way, CoderDojos are set up, run, and taught at by volunteers.
Note: Read more about how CoderDojos are about more than just coding in my interview with Lune
van Ewijk. You'll find they can also be about robotics, playing with open source hardware like Arduino
or Raspberry Pi boards, and learning the skill of soldering.
Community structure
Communities are groups of individuals sharing common interests. FINkers United is not different, all
members having the same goal to improve the processing of financial transactions based on open
source applications, pushing the interoperability level in order to achieve a new semantic
standardization for financial transactions. For this specific community and mission, several
professional profiles of individuals and institutions are welcomed: technical (developers, IT architects
and designers, implementers, support, quality assurance), business (business knowledge in banking
practice, standards, financial transaction processing, banking or corporate treasury, corporate to bank
business etc.), communication, marketing, market analysts, auditing and legal consultants.
In order to successfully establish the strategy and objectives, to manage and control the activity of the
community, the community we conceived has the following three governing entities: General
Assembly, Board of Directors and Censor. In the early stages of the community, the governance is
ensured by the founding company, since it is the sole contributor. For now, the community has a
Technical Committee coordinated by the companys CTO, which includes 10 project leaders. In time,
new hierarchies will emerge based on merit and contributions, so any member can be elected.
The rewards are very different from the traditional closed-source projects, where there is a clear limit.
For suppliers, the types of reward-earning contributions are in the job description, for which you get a
monthly paycheck. For the demand side, what you pay is what you get, with limited flexibility from
both providers and budget owners.
In open source communities, the benefits are different for every member profile, but the essence is that
everybody is involved because of having a shared interest and acts as an entrepreneurhaving ideas,
initiatives and the freedom to act accordingly to own beliefs.
For the adopters, the benefits of using and supporting open source software have been debated in
length, and they include:
1. The power to influence projects and strategies
2. Freedom from vendor locking
3. Benefit from better, more secure and reliable products
4. Better TCO and time to market
5. Reduce development and maintenance cost
6. Attract and retain development talent
7. Community based, price affordable, service consistent, guaranteed quality 'escrow agent'
For contributors, the satisfactions are mostly triggered by a sense of accomplishment.
1. Materialcustom professional services can be offered to adopters who lack certain skills or need
SLAs
2. Intellectualtheres great opportunity to develop the professional profile by taking on the technical
challenges open source projects have to offer
3. Recognitionopen source communities reward each of their members based on the value of their
contributions
4. Competitivethe opportunity to work for state of the art technological projects, with high impact
on several industries
Speaking for myself, my motivation for joining FINkers United is that being a part of the team that
attempts to revolutionize the financial transactions processing arena is a great challenge and
experience, not to mention that succeeding would be truly an accomplishment. Moreover, I believe that
creativity is original thinking based on openly sharing knowledge and transparently sharing results.
Why would you join an open source community?
4. Mobile development
With the relative decline of desktops and rise of mobile devices, open source is becoming the
foundation for superior mobile development. Existing platforms like Joomla, Convertigo, Dream
Factory, OpenMEAP, and many others allow developers to build their product, get it to market quickly
and scale. Open source programming languages, databases, middleware engines and other tools will
continue to fuel mobile development and the growth of a mobile open source ecosystem.
Getting started
A great first project is to include your city in an existing service. Take Click that 'hood (on GitHub) for
example. Its a fun game that helps teach about a citys neighborhoods. What's great about it is that it
has clear instructions for adding your own city to the game. These instructions include using open
source tools, collaborating on GitHub, and finding open dataall necessary skills for getting started in
civic hacking.
Community
Its important to remember that civic hacking includes both community and technology. All aspiring
civic hackers need to join with others to solve our civic problems together. Check out the Code for
America Brigade to find a local volunteer group or start your own. The best part of joining up with
other civic hackers is finding out how theyve achieved successes in their own cities. The Brigade is
one of the best resources for discovering the latest open source tools and projects to work on. Also,
working with city staff and civic leaders who are part of the Brigade is vital so that the civic technology
apps created by civic hackers solve real societal problems. Many different skills and many different
perspectives are needed to work on problems that effect many different people. Finally, to get really
immersed in the civic hacking movement, consider applying for the Code for America Fellowship
program.
Happy hacking!
remote screen sharing with tmux. The collaboration environment was well described by Andreas Tille
as: "Waking up in the morning to realize that someone in another continent has already solved for you
the problem that had you stuck last night."
In ideal circumstances, a Linux packager works closely with the developers of the upstream package in
such a way that new releases of the package can be adapted quickly to be included in the next release of
that Linux distribution. In many cases, the process of packaging uncovers issues with the package that
require the upstream developers to make changes and adjustments. A packager also works in close
coordination with other packagers in the same Linux distribution because many packages have
dependencies on other packages or provide services for other packages, making it vital that the
community of packagers coordinate their updates to ensure the consistency of the final Linux
distribution.
As Linux users, it is often easy to forget (disregard?) how much work goes into the creation and
maintenance of a Linux distribution.
Becoming a Linux packager is an excellent way to learn about software development, quality control,
project management, and software maintenance in an environment of passionate individuals who
deeply care about the output of their work. This is an experience all young developers should have.
After having learned the ropes of Linux packaging, and having seen first hand the dedication of this
community, I developed a great deal of respect and appreciation for their work. Now, every time I
install a package, whether it is from the command line with
sudo apt-get install package
or
yum install package
contribution. This isn't personal! Try to make it easy for them to consume your work by applying a
small patch that explains what is broken and what can be done to fix it. Just saying "does not work"
without further data, gets everyone nowhere. Similarly, if you create a change in the source code, make
sure it applies nicely and does not break any tests. Strive to be a team player and it will earn you
credibility which will result in faster feedback and greater accessibility to the open source project.
found that in all my command line hacking, editing scripts, and trying to read code that I couldn't yet
read, I wanted more. I wanted to learn how to write open source software. I wanted to contribute to the
greater good. I felt like I needed to become an evangelist of open source software and standards. It felt
right. It felt pure. I was "on a mission from Gad." I promote Linux to anyone who will listen. I have
successfully converted about 20 families to using Linux full time and offer them free support when
they need it.
Currently, I am halfway finished with my three year Computer Engineering Technology/Computer
Science course at Algonquin College in Ottawa Ontario Canada. It is a great school, and all IT students
learn about Linux as part of the course curriculum. Some instructors promote Linux and open source
software in their classrooms, while others demand their students run Windows and use proprietary
software. I have been trying to promote and encourage the use of Linux and other open source software
like LibreOffice for our classes and assignments; I personally try to use only open source software even
at the expense of losing marks.
At this point in my open source journey, I have so many ideas for open source projects, and once I
complete my training I want to contribute to other ongoing projects like Gnome and Cinnamon GUIs,
Adobe Brackets, and Fedora. I feel like a kid in a candy store that is waiting for his allowance so I can
spend it all!
I am treating my education as if it is open source Jedi training. I can't wait for my first epic battle to
begin. May open source be with you.
document a new use case. Contributions can be given back if the user is comfortable making the
software changes and the project community has done a good job of making it easy to contribute.
It sounds easy enough to simply make the necessary change and ignore the contribution back to the
community, but living on a personal forked copy of the software comes at a cost. There are two main
problems: other enhancements and bug fixes arent seen and shared except by installing newer versions
of the 'official' software, and the forked software will need to be re-integrated if upgrading. This can
amount to significant work.
It is far better to contribute ones changes back to the project community if feasible, working with the
project maintainers to ensure it is contributed correctly and patched into the main development tree.
The onus is on the community to make it easy to contribute and on the on the contributor to do so
correctly. The cost of living on a fork gets worse over time as the forked branch drifts further away
from the projects developmental course. Its well worth the investment to embrace the efficiencies of
the development model and contribute back.
The steps from using to contributing and participating in an existing project are small. A company that
chooses to use an open source software project to solve its problems rather than purchasing a product
has already invested in learning the project enough such that contribution is an easy step with automatic
cost savings over living on a fork. The contribution step is easyeven if one is paying for support.
However, creating ones own open source software project requires more care and investment, and we
explore that in the blog post: Making Open Source Software: the considerations around a project's
success.
Originally posted in a series on the OuterCurve Foundation blog. Reposted using Creative Commons.
Why Linux?
Desktop environments for Linux also helps reduce costs and environmental footprints for individuals,
small groups, and large businesses, because you can use the hardware you already own instead of
buying new and still update to the latest and greatest. The German city of Munich recently switched to
Linux an officially promotes its use to reduce e-waste in the community. Also, support for Linux distros
is typically good with regular updates for at least a year or two, while others keep up support for longer
periods, like the LTS versions.
If changing to a new operating system sounds daunting, simply create a backup of your files before
switching. Additionally, all of the well-established Linux distributions come with excellent instructions
that guide you through the installation.
of what was known at the time about germs (nothing) as well as the convenience of the doctors who
felt it was too much hassle to keep washing their hands.
It just so happens that the way the Internet is designed and the huge number of different applications,
systems, devices, and processes it has makes it the most common place to find hackers. You could say
it's a place where information can run free because it was built open and free by hackers so it's the best
playground for hackers. But it's not the only place. You can find great hackers in almost every field and
industry and they all have one thing in common: they spend time learning how things work so they can
make them work in a new way. These hackers didn't look at something as the original designers did, but
instead saw bigger or better potential for it and hacked it to be something new.
What you may think you know about hackers is that they can break into other computers and take over
other people's accounts. They can read your email without you knowing. They can look through your
web cam without your permission and can see you and hear you in the supposed privacy of your own
home. That's not untrue.
Some hackers see network security as just another challenge, so they tinker with ways to trick or fool
the system, but really what they're trying to do is out-think the network installers or designers. They
discover as much about the network as they can, where it gets its instructions, the rules it uses, and how
it interacts with operating systems, the other systems around it, the users who have access to it and the
administrators who manage it. Then they use that to try different ways of getting what they want. This
kind of hacking can be greatly beneficial to the world for understanding how to be safer and for
building even better technology.
Unfortunately though, sometimes the hacking is done by criminals and what they want is illegal,
invasive, and destructive. And those are usually the only hackers you read about in the news. A hacker
is not someone who posts to someone's account when they leave a social media page open or shouldersurfs passwords and then logs into their account later. That's not hacking. A hacker also is not someone
who downloads a script kiddie tool to break into someones email. Those aren't hackers; those are just
thieves and vandals.
Hacking itself is not illegal. At least not any more than throwing a rock is illegal. It all comes down to
intent. If you throw a rock and your intent is to injure someone, that's a crime. If your intent is not to
hurt someone, but someone does get hurt, that may not be a crime, but you are responsible for your
actions and will have to pay restitution. An Institute for Security and Open Methodologies (ISECOM)
project called the Hacker Profiling Project found that the most damage from hacking comes from
young, inexperienced hackers damaging other people's property by accident. Which is something
parents and teachers already teach kids when it comes to rock-throwing, but it doesn't translate well
when it comes to how to behave in cyberspace. If we are teaching hacking, then we can also teach
responsibility, accountability, and make it clear how to behave when hacking around other people's
property. This will encourage students to stick to hacking the things they bought and own.
The caveat to that is that there are cases where it may be illegal to hack something you bought and
own. There are hackers who have been punished for hacking their own devices and computers. These
things were closed to prevent them from being copied or changed despite that they paid for it and own
it. These are hackers who hacked programs, music, and movies they bought so it looked, behaved, and
sounded the way they wanted to or played on other devices they bought and owned and were
prosecuted for it. Especially when they openly shared their ideas with others. Hackers will find that any
closed source software they buy may be illegal to hack, even if it's just to check for themselves that it's
secure enough to run on their own computer. This is because many of the things that you purchase may
come with Copyright and a contract as an End User License Agreement (EULA) that says you can't.
And you agree to it when you open or install the product, even if you can't read it or find out about it
after you've opened or installed the product. Yes, that's sneaky and unfair.
But that's all the more reason to teach young people to hack. You see, education is open. It can be
legally hacked to teach kids to think openly, be inspired, be curious, and thus, to be a hacker. What
hacking is really about is taking control of something if you don't like how it works. Why would you do
this? To have the freedom to make something you own do what you want. And to keep others from
changing something you own back to the original form or copying all your ideas, drawings, writings,
and pictures to a cloud somewhere to be controlled by someone else who claims it's for your "best
interest."
As a hacker, you know what your own best interest is. Sometimes you buy something and the company
you bought it from will attempt to forcefully or slyly make sure you can't customize it or change it
beyond their rules. You can't play it somewhere else or use it any other way than as intended,
supposedly to protect you. And that might be okay to agree to as long as you accept the fact that if you
break it then you can't expect them to fix it or replace it. That would mean that hacking something you
own does more than make it yours, it makes it irrevocably and undeniably yours. As scary as that may
sound to some, it certainly has its advantages. Especially if you want to keep others, like the company
that made it and the marketing company they're re-selling your information and habits to, out of your
stuff.
And finally, of course knowing how to hack makes you more secure. For many, many people, security
is about putting a product in place, whether that's a lock or an alarm or a firewall or anything that
theoretically keeps them secure. But sometimes those products don't work as well they should, or they
come with their own problems that just increase your "Attack Surface," when a security product should
be shrinking it. (The Attack Surface is all the ways, all the interactions, that allow for something or
someone to be attacked.)
And yeah, good luck getting that product improved in a mass-marketing, pay-as-you-go, copyrighted,
closed-source, "you bought it as-is and that's what you have to live with" kind of world. That's why it's
so important to know how to hack your security. A hacker wouldn't buy the same padlock you would
because a hacker sees locks in terms of how many seconds they would need to open it. Hackers learn to
analyze a product and figure out where it fails and how to change it so it works better. Then they might
have to hack it some more to keep that company they bought it from, from changing it back to the
default!
So hacking in terms of breaking security is just one area that hacking is useful, because without being
able to do that, you may have to give up some freedom or some privacy that you don't want to give up.
(And some of you may not care right now about certain things you do or say or post, but the Internet
has a long memory and it's getting better and better at helping others recall those memories of you.
What goes on the net stays on the net. And kids today are pretty much born on the net.) Not to mention
technology is getting more and more out of our ability to control it. That mobile phone of yours or that
new flatscreen with built-in camera for Skype are likely doing things that you don't know and don't
control with what they see and hear. It takes some hacking to wrestle that control back.
Schools and educators who read this and want to teach their students to hack, and what hacking can be,
need to be aware upfront that it won't be easy. There will be resistance from closed minds. School
administrations may also need to contend with the fact that hacking some things may be illegal in their
state, and they will need to get open source hardware and software to try to stay on the legal side of
things. When teaching students how to hack and what hacking is, it can be hard to do with words. Try
experiences and putting it into practice to really get your point across.
Free, open projects like Hacker Highschool can help kids develop the skills, feeling, and intuition
through practice with support so they don't break the wrong things. The possibility of breaking
something is simply part of the process, and should not be a factor keeping teachers and schools from
teaching hacking. They should provide that support with an open source and open minded effort.
Here's why I've held onto itit might be a theory but a theory is the highest scientific law, and it's up to
us to disprove it. There's plenty that you can do; just keeping a running text document as you get
through a project is helpful as well.
Bottom line: If you're not going to document what you did for other people, how about doing it for
your future self who will come back in six weeks and not remember where you were going for?
Open source tools to build your best business
By Nabeel Hussain (originally published February 2014)
In January 2013, I started exploring open source solutions to help implement my business idea. I used
Wordpress, Joomla, and OpenShift to create FilmBoxFestival, a platform for streaming documentary
films. Note: It is still in the testing phase.
I created, validated, and gained traction for my busines idea due to the speed which these open source
tools offered. So, if you're an entrepreneur, I encourage you to explore open source possibilities. Here
are some of the things I learned.
While I was building and developing my business, the open source community provided excellent
technical support and documentation. As an entrepreneur, open source solutions present a unique
opportunity to develop your business in a cost-effective, rapid, and efficient manner.
does take time and energy, which many communities of projects arent willing to expend. Thats why
OpenHatch exists! We know that some projects put more effort into welcoming contributors, and we
want to help you find those projects.
The kinds of projects that welcome newcomers dont see you as a burden. They see you as a huge help
even when youre struggling to understand bugs in the issue tracker or get the development
environment set up. When you ask a member of an open source project for help, that gives them
important information about what part of their project is confusing or incorrect. The questions you ask
and guidance you need lets them know how help others later on. And of course, once youve gotten
familiar with the project, youll be able to help even more. The right kinds of project see that potential
in you and want to work with you to get there.
Two rules of thumb for people who worry about being too much of a bother (which includes us,
sometimes!): First, if people on the mailing list or the bug tracker havent told you to stop talking, then
youre probably okay, even if they havent replied to you yet. Second, if you want another opinion, just
join the #openhatch IRC channel and ask us.
For students who work while theyre at school, open source projects can be potential employers. You
can apply for Google Summer of Code or the GNOME Outreach Program and do a paid internship at
an open source project. Individual companies working with open source may hire students that show
enough interest and ability. You can even employ yourself using open sourcefor instance, you could
do freelance work making websites and applications by using open source tools like WordPress and
Drupal.
You can make open source a part of your social life as well. Join (or start) a Students For Free Culture
chapter on your campus or invite friends over for a bug-fixing party.
Finally, remember that your contributions to open source can be as big or as small as you want them to
be. If you only have time to spend a few hours a month writing documentation or fixing small bugs in a
project, thats greatthe skills youre learning and connections youre making will serve you well if
you ever decide to get more involved.
Theres nothing wrong with that, but its a shame when newcomers try to get involved with a project
that isnt interested in involving them. Its a frustrating experience for everyone and unnecessary when
there are plenty of people whod be excited to work with them.
So how can you find a good project for you, a newcomer, to contribute to? Here are some good signs to
look for:
A large, active community is more likely to have members who can take the time to mentor. It also
means that contributions will be acted on more quickly.
Good documentation and demos mean that developers have thought about how to introduce people to
their project.
Some projects have Codes of Conduct/Diversity Statements, which demonstrate that the community
is trying to be a safe and welcoming space.
Projects that are part of Google Summer of Code or the GNOME Outreach Program for Women have
made a commitment to being good environments for newcomers.
At OpenHatch, we try to identify projects that are especially good for newcomers. Were also
developing a list of OpenHatch-affiliated projects that are working with us to make contributing to their
projects as easy as possible. (If youd like to be on that list, let us know!) Feel free to contact us and ask
us for recommendations or if a particular project is known to be good for newcomers.
Of course, theres a difference between not having the time and energy to help newcomers and being
actively mean or even abusive about it. If you experience the latter and our comfortable telling us about
it, well do our best to support you. OpenHatch people are always willing to provide advice on projects
to join, either to help you find a great experience or to make the most of a bad experience. Find us on
on IRC (#openhatch on irc.freenode.net) or email us [email protected]. You can also join groups
such as Systers or the Empowermentors Collective, which may help you navigate the free software
community.
More resources
This article has been a collection of information gathered during Open Source Comes to Campus
events:
Infrequently Asked Questions: Wellesley College
Infrequently Asked Questions: UMass Amherst
Infrequently Asked Questions: Bloomington
Read more posts about this event series on our blog.
For blog posts about getting involved with OpenHatch, read about the experiences of two of our
contributors: Britta and Mandar.
Recommended videos
Introduction to OpenStack with Sandy Walsh from Rackspace
This is a 30 minute video that is one the best videos I've come across that can help introduce
OpenStack to someone completely new to the project. The talk is not too technical and gives a broad
overview of the project and the architecture. Walsh talks about what OpenStack is, what it is not, how
the project got started, some of the core projects, and he outlines the architecture and scalability of
OpenStack.
build the Nova volume, network, and compute components prior to OpenStack.