Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 79 lines (66 sloc) 3.84 kb
25273bc [#4] Create Open Source trail
Adarsh Pandit and Dan Croak authored
1 Open Source
2 ===========
3
4 Critical learning
5 -----------------
6
ced2721 Add CSS and HTML trails
Kyle Fiedler authored
7 * Get a [GitHub](http://github.com) account ($/free).
25273bc [#4] Create Open Source trail
Adarsh Pandit and Dan Croak authored
8 * Read [8 steps to fixing other people's code](http://rdd.me/tsf7khhg).
9 * Watch [How to manage an open source project](http://vimeo.com/45214727).
10 * Read the rubygems.org ["Make your own gem" guide](http://guides.rubygems.org/make-your-own-gem/).
11 * Read the [Semantic Versioning specification](http://semver.org/).
ced2721 Add CSS and HTML trails
Kyle Fiedler authored
12 * Read about [software licenses](http://playbook.thoughtbot.com/choosing-platforms/software-licenses/).
13 * Read about the purpose and formatting of a
14 [`NEWS` file](http://www.gnu.org/prep/standards/html_node/NEWS-File.html#NEWS-File).
15 * Read about the purpose and formatting of a
16 [`ChangeLog` file](http://www.gnu.org/prep/standards/html_node/Change-Logs.html#Change-Logs).
25273bc [#4] Create Open Source trail
Adarsh Pandit and Dan Croak authored
17
18 Validation
19 ----------
20
21 You are an everyday open source user when you can:
22
23 * Evaluate a project based on quality of code, tests, documentation.
24 * Evaluate a project based on responsiveness of maintainers to developers'
25 questions and feature requests.
26 * Evaluate a project based on regularity of releases.
27 * Evaluate a project based on the appropriateness of its license for your
28 needs.
29 * Evaluate a project by downloading and trying it.
30 * Search issues for a similar problem you're having.
31 * Comment with additional data on issues that you're also having.
32 * Submit new issues with good environment (Ruby version, OS, etc.) info,
33 error messages, and backtraces so the maintainer can quickly replicate it.
34
35 You are an everyday open source contributor when you can:
36
37 * Get annoyed by a defect or missing feature.
38 * Find the source code.
cb3ee27 @garethrees Update GitHub Links
garethrees authored
39 * Create a copy of the source ("fork" on [Github](http://github.com)).
25273bc [#4] Create Open Source trail
Adarsh Pandit and Dan Croak authored
40 * Check out (`git clone`) the source.
41 * Poke around the source in your editor and shell (`grep`).
42 * Read the contribution guidelines.
43 * Write a failing test in the style of the project's test suite.
44 * Write code to make the test pass in the style of the project's codebase.
45 * Make sure the entire test suite passes.
cb3ee27 @garethrees Update GitHub Links
garethrees authored
46 * Create a patch (push to your fork on [Github](http://github.com)).
47 * Submit a patch ("pull request" on [Github](http://github.com)).
25273bc [#4] Create Open Source trail
Adarsh Pandit and Dan Croak authored
48 * If it exists, email the project's mailing list asking for feedback.
49
50 You are an everyday open source maintainer when you can:
51
ced2721 Add CSS and HTML trails
Kyle Fiedler authored
52 * Apply an appropriate license to your project.
25273bc [#4] Create Open Source trail
Adarsh Pandit and Dan Croak authored
53 * Document a clear public API.
cb3ee27 @garethrees Update GitHub Links
garethrees authored
54 * Document where issues are managed, such as [Github](http://github.com) Issues.
ced2721 Add CSS and HTML trails
Kyle Fiedler authored
55 * Evaluate pull requests and provide kind, intelligent feedback.
cb3ee27 @garethrees Update GitHub Links
garethrees authored
56 * Provide a clear place for questions, such as [Stack Overflow](http://stackoverflow.com). Only provide
57 a [Google Group](http://groups.google.com) mailing list if you're ready to support it.
58 * Provide your code in easily accessible form ([Rubygems](http://rubygems.org), [GitHub](http://github.com)).
ced2721 Add CSS and HTML trails
Kyle Fiedler authored
59 * Select or reject open source software based on its license.
60 * Use major, minor, and patch version numbers ([Semantic Versioning](http://semver.org)).
056dc79 @croaky Add ongoing reference section to Open Source trail
croaky authored
61
62 Ongoing reference
63 -----------------
64
65 Read selected chapters from "The Architecture of Open Source Applications":
66
67 * [Berkeley DB](http://www.aosabook.org/en/bdb.html).
68 * [The Bourne-Again Shell](http://www.aosabook.org/en/bash.html).
69 * [Continuous Integration](http://www.aosabook.org/en/integration.html).
70 * [Git](http://www.aosabook.org/en/git.html).
71 * [The Glasgow Haskell Compiler](http://www.aosabook.org/en/ghc.html).
72 * [GNU Mailman](http://www.aosabook.org/en/mailman.html).
73 * [MediaWiki](http://www.aosabook.org/en/mediawiki.html).
74 * [nginx](http://www.aosabook.org/en/nginx.html).
75 * [Riak and Erlang/OTP](http://www.aosabook.org/en/riak.html).
76 * [Scalable Web Architecture and Distributed Systems](http://www.aosabook.org/en/distsys.html).
77 * [Sendmail](http://www.aosabook.org/en/sendmail.html).
78 * [Twisted](http://www.aosabook.org/en/twisted.html).
Something went wrong with that request. Please try again.