Skip to content

Commit 21cafa3

Browse files
authored
Add files via upload
1 parent 09f099a commit 21cafa3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+7840
-674
lines changed

CODE_OF_CONDUCT.md

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Contributor Code of Conduct
2+
3+
As contributors and maintainers of this project, and in the interest of
4+
fostering an open and welcoming community, we pledge to respect all people who
5+
contribute through reporting issues, posting feature requests, updating
6+
documentation, submitting pull requests or patches, and other activities.
7+
8+
We are committed to making participation in this project a harassment-free
9+
experience for everyone, regardless of level of experience, gender, gender
10+
identity and expression, sexual orientation, disability, personal appearance,
11+
body size, race, ethnicity, age, religion, or nationality.
12+
13+
Examples of unacceptable behavior by participants include:
14+
15+
* The use of sexualized language or imagery
16+
* Personal attacks
17+
* Trolling or insulting/derogatory comments
18+
* Public or private harassment
19+
* Publishing other's private information, such as physical or electronic
20+
addresses, without explicit permission
21+
* Other unethical or unprofessional conduct
22+
23+
Project maintainers have the right and responsibility to remove, edit, or
24+
reject comments, commits, code, wiki edits, issues, and other contributions
25+
that are not aligned to this Code of Conduct, or to ban temporarily or
26+
permanently any contributor for other behaviors that they deem inappropriate,
27+
threatening, offensive, or harmful.
28+
29+
By adopting this Code of Conduct, project maintainers commit themselves to
30+
fairly and consistently applying these principles to every aspect of managing
31+
this project. Project maintainers who do not follow or enforce the Code of
32+
Conduct may be permanently removed from the project team.
33+
34+
This code of conduct applies both within project spaces and in public spaces
35+
when an individual is representing the project or its community.
36+
37+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
38+
reported by contacting a project maintainer at victorfelder at gmail.com. All
39+
complaints will be reviewed and investigated and will result in a response that
40+
is deemed necessary and appropriate to the circumstances. Maintainers are
41+
obligated to maintain confidentiality with regard to the reporter of an
42+
incident.
43+
44+
45+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
46+
version 1.3.0, available at
47+
[http://contributor-covenant.org/version/1/3/0/][version]
48+
49+
[homepage]: http://contributor-covenant.org
50+
[version]: http://contributor-covenant.org/version/1/3/0/

CONTRIBUTING.md

+109
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
## Contributor License Agreement
2+
By contributing you agree to the [LICENSE](https://github.com/EbookFoundation/free-programming-books/blob/master/LICENSE) of this repository.
3+
4+
## Contributor Code of Conduct
5+
By contributing you agree to respect the [Code of Conduct](https://github.com/EbookFoundation/free-programming-books/blob/master/CODE_OF_CONDUCT.md) of this repository.
6+
7+
## In a nutshell
8+
1. "A link to easily download a book" is not always a link to a *free* book. Please only contribute free content. Make sure it's free.
9+
2. You don't have to know git: if you found something of interest which is *not already in this repo*, please open an issue with your links propositions.
10+
- If you know git, please fork the repo and send pull requests.
11+
3. We have 5 kinds of lists. Choose the right one:
12+
13+
- *Books* : PDF, HTML, ePub, a gitbook.io based site, a Git repo, etc.
14+
- *Courses* : A course is a learning material which is not a book and where there is no interactive tool embedded in the site. [This is a course](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/).
15+
- *Interactive Tutorials* : An interactive website which lets the user type code or commands and evaluates the result (by "evaluate" we don't mean "grade"). e.g.: [Try Haskell](http://tryhaskell.org), [Try Github](http://try.github.io).
16+
- *JavaScript Resources* : Any resources teaching a JavaScript framework or library.
17+
- *Problem Sets & Competitive Programming* : A website or software which lets you assess your programming skills by solving simple or complex problems, with or without code review, with or without comparing the results with other users.
18+
19+
4. Make sure to follow the [guidelines below](#guidelines) and respect the [Markdown formatting](#formatting) of the files
20+
21+
5. Travis CI will run tests to make sure your lists are alphabetized and formatting rules are followed. Be sure to check that your changes pass the tests.
22+
23+
### Guidelines
24+
- make sure a book is free. Double-check if needed. It helps the admins if you comment in the PR as to why you think the book is free.
25+
- we don't accept files hosted on google drive, dropbox, mega, scribd, issuu and other similar file upload platforms
26+
- insert your links in alphabetical order. If you see a misplaced link, please reorder it and submit a PR
27+
- use the link with the most authoritative source (meaning author's website is better than editor's website is better than third party website)
28+
+ no file hosting services (this includes (but is not limited to) Dropbox and Google Drive links)
29+
- always prefer a `https` link over a `http` one -- as long as they are on the same domain and serve the same content
30+
- on root domains, strip the trailing slash: `http://example.com` instead of `http://example.com/`
31+
- always prefer the shortest link: `http://example.com/dir/` is better than `http://example.com/dir/index.html`
32+
+ no URL shortener links
33+
- usually prefer the "current" link over the "version" one: `http://example.com/dir/book/current/` is better than `http://example.com/dir/book/v1.0.0/index.html`
34+
- if a link has an expired certificate/self-signed certificate/SSL issue of any other kind:
35+
1. *replace it* with its `http` counterpart if possible (because accepting exceptions can be complicated on mobile devices)
36+
2. *leave it* if no `http` version but link still accessible through `https` by adding an exception to the browser or ignoring the warning
37+
3. *remove it* otherwise
38+
- if a link exists in multiple format, add a separate link with a note about each format
39+
- if a resource exists at different places on the Internet
40+
+ use the link with the most authoritative source (meaning author's website is better than editor's website is better than third party website)
41+
+ if they link to different editions and you judge these editions are different enough to be worth keeping them, add a separate link with a note about each edition
42+
- prefer atomic commits (one commit by addition/deletion/modification) over bigger commits. No need to squash your commits before submitting a PR. (We will never enforce this rule as it's just a matter of convenience for the maintainers)
43+
- if the book is older, include the publication date with the title.
44+
- include the author name or names where appropriate. You can shorten author lists with "et al."
45+
46+
### Formatting
47+
- All lists are `.md` files. Try to learn [Markdown](https://guides.github.com/features/mastering-markdown/) syntax. It's simple!
48+
- All the lists start with an Index. The idea is to list and link all sections and subsections there. Keep it in alphabetical order.
49+
- Sections are using level 3 headings (`###`), and subsections are level 4 headings (`####`).
50+
51+
The idea is to have
52+
- `2` empty lines between last link and new section
53+
- `1` empty line between heading & first link of its section
54+
- `0` empty line between two links
55+
- `1` empty line at the end of each `.md` file
56+
57+
Example:
58+
59+
[...]
60+
* [An Awesome Book](http://example.com/example.html)
61+
(blank line)
62+
(blank line)
63+
### Example
64+
(blank line)
65+
* [Another Awesome Book](http://example.com/book.html)
66+
* [Some Other Book](http://example.com/other.html)
67+
68+
- Don't put spaces between `]` and `(`
69+
70+
```
71+
BAD : * [Another Awesome Book] (http://example.com/book.html)
72+
GOOD: * [Another Awesome Book](http://example.com/book.html)
73+
```
74+
75+
- If you include the author, use ` - ` (a dash surrounded by single spaces)
76+
77+
```
78+
BAD : * [Another Awesome Book](http://example.com/book.html)- John Doe
79+
GOOD: * [Another Awesome Book](http://example.com/book.html) - John Doe
80+
```
81+
82+
- Put a single space between the link and its format
83+
84+
```
85+
BAD : * [Another Awesome Book](http://example.com/book.pdf)(PDF)
86+
GOOD: * [Another Awesome Book](http://example.com/book.pdf) (PDF)
87+
```
88+
89+
- Author comes before format:
90+
91+
```
92+
BAD : * [Another Awesome Book](http://example.com/book.pdf)- John Doe
93+
GOOD: * [Another Awesome Book](http://example.com/book.pdf) - John Doe (PDF)
94+
```
95+
96+
- Multiple formats:
97+
98+
```
99+
BAD : * [Another Awesome Book](http://example.com/)- John Doe (HTML)
100+
BAD : * [Another Awesome Book](https://downloads.example.org/book.html)- John Doe (download site)
101+
GOOD: * [Another Awesome Book](http://example.com/) - John Doe (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
102+
```
103+
104+
- Include publication year in title for older books:
105+
106+
```
107+
BAD: * [Another Awesome Book](http://example.com/book.html) - John Doe - 1970
108+
GOOD: * [Another Awesome Book (1970)](http://example.com/book.html) - John Doe
109+
```

0 commit comments

Comments
 (0)