Skip to content

Commit 5e01a05

Browse files
committed
Created contribution guide and updated homepage content.
1 parent cca3420 commit 5e01a05

File tree

5 files changed

+92
-9
lines changed

5 files changed

+92
-9
lines changed

.lektorproject

+3
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,6 @@ name = creativecommons.github.io
33

44
[servers.ghpages]
55
target = ghpages+https://creativecommons/creativecommons.github.io
6+
7+
[packages]
8+
lektor-markdown-header-anchors = 0.3.1

content/contents.lr

+17-9
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,28 @@ title: Technology at Creative Commons
44
---
55
body:
66

7-
Our core mission at Creative Commons includes [supporting technical infrastructure to maximize creativity, sharing, and innovation](https://creativecommons.org/about/mission-and-vision/) and we've been building free software to that end for more than a decade. That's a lot of projects and the tech team isn't very big so we really appreciate volunteers who are willing to help us build or test our tools and products.
7+
Creative Commons has been building free software for over a decade to support our [mission](https://creativecommons.org/about/mission-and-vision/) of maximizing digital creativity, sharing, and innovation. Our projects come in all sizes and shapes, from simple static websites to providing a fast and relevant search interface to the billion-plus Creative Commons works currently available on the internet. Our engineering team is fairly small and spread thin, so we're really appreciative of volunteers who help us build or test our software.
88

9-
We just started an effort to make individual projects easier to find and contribute to, but for now, you can browse through [the repositories on our main GitHub organization](https://github.com/creativecommons/) to see what we're working on.
9+
### Getting Involved
1010

11-
<hr/>
11+
You can contribute to CC's software in a few different ways.
1212

13-
### Get Involved
13+
----
1414

15-
Using our tools (such as [the new CC Search beta](http://ccsearch.creativecommons.org/)) and letting us know how it's working for you is fantastic! We're looking for bug reports, feature requests, general comments – any form of feedback is excellent, no matter how small.
15+
##### Finding bugs and suggesting features
1616

17-
You can send us feedback by [creating a GitHub issue](https://help.github.com/articles/creating-an-issue/) on the repository corresponding to the project. If you're not sure what that means or you don't know the correct repository, please create an issue [on the main creativecommons.org repository](https://github.com/creativecommons/creativecommons.org/issues). If you don't have a GitHub account, you'll need to make one to do this.
17+
Using our software (such as [the new version of CC Search](http://ccsearch.creativecommons.org/)) and letting us know how it's working for you is very helpful. General suggestions, bug reports, a reqiest to build a new feature – any form of feedback is excellent, no matter how small.
1818

19-
You can also give us feedback in the `#cc-usability` channel [on the CC Slack](https://creativecommons.org/2016/10/18/slack-announcement/).
19+
You can send us feedback in a few different ways. If you have a GitHub account, [creating a GitHub issue](https://help.github.com/articles/creating-an-issue/) is easiest for us because that's where we track our work. If you know which GitHub repository (see [a full list here](/projects)) corresponds to the software about which you'd like to give us feedback, then please create an issue attached to that repository. If you're not sure what that means or you don't know the correct repository, please create an issue [on the creativecommons.org repository](https://github.com/creativecommons/creativecommons.org/issues). You can also send us feedback in the `#cc-usability` channel [on the CC Slack community](https://creativecommons.org/2016/10/18/slack-announcement/) or via email at `software@creativecommons.org`.
2020

21-
### Contribute code
21+
----
2222

23-
We are working on contribution guidelines and documentation for our projects. Watch this space!
23+
##### Contributing code
24+
25+
Please see [Contributing Code](/contributing-code).
26+
27+
----
28+
29+
##### Contributing design
30+
31+
If you'd like to improve the design of one of our tools or products, please propose your change in [one of our community forums](/community) and collaborate with a CC staff member if requested to before making any changes.

content/contributing-code/contents.lr

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
_model: page
2+
---
3+
_template: page-with-toc.html
4+
---
5+
title: Contributing Code
6+
---
7+
body:
8+
9+
### Existing projects
10+
11+
Here's a list of [all our current projects](/projects). We do all of our development on GitHub and are generally open to pull requests. We would especially like help with reviving projects that CC's engineering team does not have the time to actively work on (such as [our WordPress plugin](https://github.com/creativecommons/creativecommons-wordpress-plugin) and [license chooser widget](https://github.com/creativecommons/LicenseChooser.js)). We're also looking to improve our documentation and increase our automated test coverage across pretty much all our projects.
12+
13+
We are working on making sure all of our projects are documented, licensed, and have self-contained contribution guidelines. Until we finish that work, follow the checklist below before writing any code.
14+
15+
----
16+
17+
**Make sure that the project is ready for contribution**
18+
19+
If the repository has no license file, code of conduct, or is missing basic documentation, please create a GitHub issue attached to that repository to set those up. We will prioritize adding these files to repositories towards which people show active interest in contributing.
20+
21+
22+
**Make sure your change will be accepted**
23+
24+
* If you want to work on an open GitHub issue tagged "help wanted" or "good first issue", comment on it to indicate that you're working on it (so that no one else does) and submit a pull request when you're ready. No other steps are needed.
25+
* If you want to work on an open GitHub issue without those tags, comment on it to ask if help is desired.
26+
* Indications that it may not be available to work on are that it was created very recently, it already has someone assigned to it, or it is in a project whose name starts with "Active".
27+
* If you want to work on something that there is no GitHub issue for, either create an issue and ask there whether a pull request will be accepted for that change or propose the change in [one of our community forums](/community) before creating the ticket.
28+
* If the project has a roadmap documented in the README, checking the roadmap to see if the feature is already in our pipeline would be a good first step.
29+
30+
When in doubt, ask a question on [one of our community forums](/community).
31+
32+
----
33+
34+
### New projects
35+
36+
We are also open to working on or hosting projects that are related to the Creative Commons licenses or general mission. Our [Google Summer of Code project ideas](/gsoc-2019/project-ideas) list is a good place to find ideas we'd like implemented. If you're interested in working on one of them, please propose it in one of our [community forums](/community) (you don't need to be a student, anyone is welcome to work on those ideas) and work out implementation details with CC staff members before you write any code. If you want to suggest a new project idea, follow the same process.
37+
38+
In general, we'd like any new projects to use Python, WordPress/PHP, and/or JavaScript (our framework of choice is Vue.js) so that our team can help review and maintain the project.
39+
40+
----
41+
42+
### General best practices
43+
44+
No matter what kind of project you're working on, these are good guidelines to follow
45+
46+
**Code**
47+
48+
* Write comprehensive and robust tests that cover the changes you've made in your work.
49+
* Follow the appropriate code style standards for the language and framework you're using (e.g. PEP 8 for Python).
50+
* Write readable code – keep functions small and modular and name variables descriptively.
51+
* Document your code thoroughly.
52+
* Make sure all the existing tests pass.
53+
54+
**Pull requests**
55+
56+
* Use the format specified in pull request template for the repository if there is one.
57+
* Describe your change in detail. Too much detail is better than too little.
58+
* Describle how you tested your change.
59+
* Request a review from either the repository maintainer (if you have that information) or `@creativecommons/engineering`.

templates/layout.html

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
<li class="nav-item{% if this._path == '/' %} active{% endif
3030
%}"><a class="nav-link" href="{{ '/'|url }}">Home</a></li>
3131
{% for href, title in [
32+
['/contributing-code', 'Contributing Code'],
3233
['/projects', 'Projects'],
3334
['/community', 'Community'],
3435
] %}

templates/page-with-toc.html

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{% extends "layout.html" %}
2+
{% block title %}{{ this.title }}{% endblock %}
3+
{% block body %}
4+
<ul class="toc list-unstyled">
5+
{% for item in this.body.toc %}
6+
<li><a href="#{{ item.anchor }}">{{ item.title }}</a></li>
7+
{% endfor %}
8+
</ul>
9+
<hr/>
10+
{{ this.body }}
11+
12+
{% endblock %}

0 commit comments

Comments
 (0)