Skip to content

Commit 679f19a

Browse files
authored
Merge branch 'master' into hotfix/improve-readme
2 parents 8334ce7 + 4e7dfbf commit 679f19a

File tree

12 files changed

+297
-16
lines changed

12 files changed

+297
-16
lines changed

content/blog/authors/dhruvkb/contents.lr

+1-2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,5 @@ name: Dhruv Bhanushali
55
md5_hashed_email: 0eab64adad056cff2492e7c407a9aa21
66
---
77
about:
8-
Dhruv Bhanushali is a Mumbai-based software developer and an Engineering-Physics graduate from IIT Roorkee. He started programming as a hobby in high-school and having found his calling, is now pursuing a career in the field. He is a huge fan of alternative and post-rock music and keeps his curated collection with him at all times. He also loves to binge watch TV shows and movies, especially indie art films.
98

10-
Dhruv developed [CC Vocabulary](https://opensource.creativecommons.org/cc-vocabulary/) as part of [Google Summer of Code 2019](/gsoc-2019/) and now is a maintainer for the project. He is consistently [`@dhruvkb`](https://dhruvkb.github.io/) everywhere.
9+
[Dhruv Bhanushali](https://dhruvkb.github.io/) is the Open Source Community Coordinator at Creative Commons. He goes by `@dhruvkb` on the CC Community Slack workspace. Dhruv developed [CC Vocabulary](https://opensource.creativecommons.org/cc-vocabulary/) as part of [Google Summer of Code 2019](/gsoc-2019/) and now is a maintainer for the project.
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
title: CC Legal Database: Developing features
2+
---
3+
categories:
4+
cc-legal-database
5+
product
6+
outreachy
7+
---
8+
author: krysal
9+
---
10+
series: outreachy-may-2020-legal-database
11+
---
12+
pub_date: 2020-08-07
13+
---
14+
body:
15+
In this post, I want to update the progress on Reimplementing the CC Legal Database site, my Outreachy project. There are several features added over the last month to date.
16+
17+
### Submission forms
18+
19+
The first thing I wanted to implement was the respective forms so that anyone can submit a case or article to the database. These forms were slightly modified in the redesign (discussed in the previous articles), so now it has fewer mandatory fields to lower the bar and facilitate the contribution of users.
20+
21+
<figure style="text-align: center;">
22+
<img src="scholarship-form.png" alt="Form to submit an article related to CC licenses" style="border: 1px solid black; width: 60%;">
23+
<figcaption>Scholarship form to submit an article.</figcaption>
24+
</figure>
25+
26+
For the Scholarship form, for example, it is only needed to share your name, email and a link to propose an article related to any of the CC licenses, although the more information you can provide us the better, in any case, each contribution is reviewed by the staff before publishing.
27+
28+
### Search
29+
30+
The second important task was to allow searching in each of the listings. A basic function to start making use of the exposed information. In the [current site](https://labs.creativecommons.org/caselaw/), this function is delegated to an external service, a certain famous search engine. Filtering is now performed in the backend based on the keywords entered by the user, thus returning the reduced list. Later this will be combined with filtering by tags or topics that are associated with each entry (case or scholarship).
31+
32+
### Automated tests
33+
34+
While developing the mentioned functionalities I was also in charge of adding automatic unit tests, to ensure that future changes to the code base do not damage already functional parts of the site. This, in addition to giving more confidence to future contributors, they provide value immediately, at the time of writing the tests you should think about possible edge cases, so they allowed me to notice a missing validation in a couple of routes and then correct it.
35+
36+
<figure style="text-align: center;">
37+
<img src="404-page.png" alt="404 page" style="border:1px solid black; width:70%;">
38+
<figcaption>Example of page obtained when requesting a case detail that is not published or doesn't exist.</figcaption>
39+
</figure>
40+
41+
In this process of adding automated tests I wanted them to run on every pull request created, so I learned how to write a GitHub Action with a PostgreSQL service, the DBMS used in this case. Previously, I had already created a job for linting, so I needed to add another one to run in parallel to save time. This service provided by GitHub is pretty cool and useful, it opens up a world of possibilities, from running third party services like [Lighthouse test](https://github.com/GoogleChrome/lighthouse-ci) to even [send tweets](https://github.com/gr2m/twitter-together)! If you want to see the GitHub Action file configurated for this project, check it out: [`.github/workflows/main.yml`](https://github.com/creativecommons/caselaw/blob/31c3002a7860d78f3fdb464150c5c1b2f8bb86fc/.github/workflows/main.yml).
42+
43+
### Accessibility
44+
45+
To check if the site had shortcomings I did the Lighthouse test on the homepage, discovering that there were indeed some issues to tackle. In principle the results were these:
46+
47+
<figure style="text-align: center;">
48+
<img src="lighthouse-before.png" alt="" style="border:1px solid black; width:70%;">
49+
<figcaption>Initial Lighthouse test measurements.</figcaption>
50+
</figure>
51+
52+
The good thing about this test is that it throws up suggestions on how to fix the bugs found, so after adding certain missing attributes and labels, the following results were achieved.
53+
54+
<figure style="text-align: center;">
55+
<img src="lighthouse-after.png" alt="" style="border:1px solid black; width:70%;">
56+
<figcaption>Lighthouse test measurements after corrections.</figcaption>
57+
</figure>
58+
59+
There is still room for improvement but at least we are within a quite acceptable green range.
60+
61+
### Other features and tweaks
62+
63+
Some other features were implemented but only relevant to our registered users, that is, the Legal Staff. They consist of Django admin customization, such as filtering records by status, and a particular thing requested, the answers of frequently asked questions need to be displayed formatted, so they are now saved as Markdown text and transformed to HTML with style on the public site, showing lists, bold text, links, etc. The admin can also see a preview while editing.
64+
65+
### Conclusion
66+
67+
After reviewing all done this last month I see significant progress has been made, I have learned many things along the way: more of what Django and its ecosystem offers, about accessibility, continuous integration in Heroku and GitHub, and more. One of the things that makes me most happy is being able to be contributing and being part of an Open Source organization, knowing how it moves and works inside, something I never imagine before.
68+
69+
Time flies and there are less than two weeks left to finish, so if you want to follow the project here is the repository to suggest improvements or report bugs, or if you prefer something less technical you can join us on the [slack channel](https://creativecommons.slack.com/channels/cc-dev-legal-database).
Loading
Loading
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
title: Say Hello To Our Community Team
2+
---
3+
categories:
4+
announcements
5+
community
6+
open-source
7+
---
8+
author: dhruvkb
9+
---
10+
pub_date: 2020-08-14
11+
---
12+
body:
13+
14+
Creative Commons is committed to open-source software. We have over two dozen
15+
projects, spanning three times as many repositories on GitHub, each with its
16+
small, but extremely enthusiastic, subcommunity. With only a few full-time
17+
employees working on these projects, it is vital that we enable members from the
18+
community to take increased responsibility in developing and maintaining them,
19+
and growing the community of which they are a part.
20+
21+
With that goal in mind, we've launched our Community Team initiative.
22+
23+
### What is the Community Team?
24+
25+
Communities that grow organically around open source projects tend to be a bit
26+
disorganised and the frequency of contributions and degree of involvement tends
27+
to vary from member to member. Our goal is to identify contributors who are
28+
actively involved within their communities and give them increased permissions
29+
over the codebase and access to more information channels and tools in an effort
30+
to empower them to participate more fully in the project.
31+
32+
This is not restricted to code though. We're also looking for people who work
33+
with the community on other aspects of the projects, such as design,
34+
documentation, evangelism, and onboarding to name a few.
35+
36+
- The Community Team establishes a framework for formalising the level of
37+
involvement, which is a spectrum, into discrete level or 'roles'.
38+
- Each role is mapped to a set of responsibilities that a member holding the
39+
role is encouraged to take up.
40+
- Each role also entrusts the members holding it to certain privileges, accesses
41+
and permissions, to help them execute these responsibilities.
42+
43+
Roles also progressively include members in our roadmaps and planning meetings
44+
to ensure that the community is aligned with our long-term goals.
45+
46+
### What's in it for me?
47+
48+
The Community Team is not just a one-sided deal. Your membership in the
49+
Community Team is just as beneficial for the you as it is for us. While there is
50+
a [laundry list of benefits][benefits] that you're entitled to, I'll just
51+
mention some notable ones here.
52+
53+
[benefits]:/community/community-team/#benefits-of-joining-the-community-team
54+
55+
- You gain real-world practical experience of working on open-source projects.
56+
- You gain both soft-skills and technical-skills by interacting with other
57+
developers from both the community as well as CC staff.
58+
- Since we've already seen the quality of your work and involvement with the
59+
community, you get priority in internship applications*.
60+
61+
Oh and, lest I forget, you'll receive CC swag!
62+
63+
<blockquote class="twitter-tweet" data-align="center">
64+
<p lang="en" dir="ltr">
65+
Thanks for the goodies!!
66+
<a href="https://twitter.com/creativecommons?ref_src=twsrc%5Etfw">@creativecommons</a>
67+
😀
68+
<a href="https://twitter.com/hashtag/OpenSource?src=hash&amp;ref_src=twsrc%5Etfw">#OpenSource</a>
69+
<a href="https://twitter.com/hashtag/creativecommons?src=hash&amp;ref_src=twsrc%5Etfw">#creativecommons</a>
70+
<a href="https://twitter.com/hashtag/GSoC?src=hash&amp;ref_src=twsrc%5Etfw">#GSoC</a>
71+
<a href="https://t.co/DFvpXCs8uu">pic.twitter.com/DFvpXCs8uu</a>
72+
</p>
73+
&mdash;
74+
Mayank Nader (@MayankNader)
75+
<a href="https://twitter.com/MayankNader/status/1137995920866390016?ref_src=twsrc%5Etfw">June 10, 2019</a>
76+
</blockquote>
77+
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
78+
79+
### What are these 'roles'?
80+
81+
If you've reached this point, I assume you see the potential of the Community
82+
Team. Let's see where you'd fit in them.
83+
84+
We have two kinds of roles, code-oriented [Project roles][projectroles], that
85+
give you responsibilities and permissions related to one CC project, and
86+
non-code-oriented [Community Building roles][communitybuildingroles], that give
87+
you responsibilities and permissions related to improving the community of all
88+
CC projects as a whole.
89+
90+
[projectroles]:/community/community-team/project-roles/
91+
[communitybuildingroles]:/community/community-team/community-building-roles/
92+
93+
Each type has a few levels but that I'll just link them for you to read on your
94+
own. While your eligibility for any role depends on how involved you have been
95+
in the past, the role you choose reflects how involved you would like to be in
96+
the future.
97+
98+
Start by asking yourself a simple question, "Do I code?"
99+
100+
#### "Sure, I can code..."
101+
102+
*That's awesome!* We have projects in a diverse array of languages, using myriad
103+
tools and frameworks. Depending on the skills you have, or are planning to
104+
acquire, you can pick a project and start contributing to it. Based on your
105+
contributions and your familiarity with the codebase, you can then apply for the
106+
role that matches your desired level of involvement.
107+
108+
So if you want to be lightly involved with code-reviews and would like to know
109+
about our plans in advance, you can start off as a Project Contributor. This is
110+
a fantastic role to get started with and ensures that you get excellent
111+
mentorship as you start your FOSS journey.
112+
113+
As your familiarity with the codebase increases, you might want to triage
114+
incoming issues or block certain PRs that you've reviewed. You could escalate
115+
your role to Project Collaborator. Want to me more involved? You can apply to be
116+
a Project Core Committer, or even a Project Maintainer.
117+
118+
#### "No, I can't code..."
119+
120+
*That's cool too!* We realise that open source communities are never just about
121+
the code. If you're passionate about growing the CC community by enabling new
122+
contributors to get started or by spreading the word, you can apply for one of
123+
the Community Building roles. Like the Project roles, there are a couple of
124+
levels to choose from.
125+
126+
Community builders have a whole different set of responsibilities and privileges
127+
specifically catered to the unique task of cultivating a healthy community
128+
around our many open source projects.
129+
130+
So if you want to be lightly involved with onboarding new contributors to the
131+
repositories and the workflows, you could start off as a Community Contributor.
132+
This is a fantastic role to help new contributors get a headstart in their
133+
journey with FOSS.
134+
135+
As your familiarity with the community increases, you might want to suggest
136+
tweets for our Twitter account, or pariticipate in long-term community building
137+
tasks from Asana. You could escalate your role to Community Collaborator. Want
138+
to me more involved? You can even apply to be a Community Maintainer.
139+
140+
### What's next?
141+
142+
<p style="text-align:center;">
143+
<img
144+
alt="Gromit laying the tracks ahead of the toy train he is riding on"
145+
title="We'll just figure things out as we go!"
146+
src="gromit.gif"/><br/>
147+
<small>
148+
We'll just figure things out as we go!
149+
</small>
150+
</p>
151+
152+
The Community Team is a fairly novel idea for us and we're still tweaking things
153+
along the way. For example, we recently merged of two Project roles, namely
154+
Project Member and Project Collaborator, when we realised they weren't so
155+
different. As we internalise these roles more and more, we'll find more scope
156+
for improvement and we'll continue to refine these roles over time.
157+
158+
We're excited about the Community Team. If you're interested in joining us on
159+
this ride, it's really easy to [get started][communityteam].
160+
161+
[communityteam]:/community/community-team/
162+
163+
<small>*We do not guarantee that you will be accepted if you apply for an
164+
internship!</small>
1.99 MB
Loading

content/contents.lr

+8-8
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: Open Source at CC
44
---
55
body:
66

7-
**[Creative Commons](https://creativecommons.org/)** has been building free software for over a decade to support our mission of maximizing digital creativity, sharing, and innovation. We work on products that, among other things, make applying CC licenses to content easier, help users find CC licensed content easily, promote and educate users about CC licenses and copyright, and connect the global CC community. Our projects come in all sizes and shapes, from several simple static websites to making the 1.6 billion+ Creative Commons works currently available on the internet [searchable](https://search.creativecommons.org/).
7+
**[Creative Commons](https://creativecommons.org/)** has been building free software for over a decade to support our mission of maximizing digital creativity, sharing, and innovation. We work on products that, among other things, make applying CC licenses to content easier, help users find CC licensed content easily, promote and educate users about CC licenses and copyright, and connect the global CC community. Our projects come in all sizes and shapes, from several simple static websites to making the 1.6 billion+ Creative Commons works currently available on the internet [searchable](https://search.creativecommons.org/).
88

99
## Get Involved
1010

@@ -16,7 +16,7 @@ So if you're looking to integrate CC licenses or CC licensed works into your app
1616
<div class="card-img-top">
1717
<img class="mx-auto d-block" src="/comments-solid.png" alt="Community icon"/>
1818
</div>
19-
<div class="card-body" align="center">
19+
<div class="card-body" style="text-align: center;">
2020
<p class="card-text text-center">Join the CC developer chat and mailing list communities to connect with other developers working with CC tools.</p>
2121
<a href="/community/" class="btn btn-sm btn-outline-primary">See how to join</a>
2222
</div>
@@ -27,7 +27,7 @@ So if you're looking to integrate CC licenses or CC licensed works into your app
2727
<div class="card-img-top">
2828
<img class="mx-auto d-block" src="/laptop-code-solid.png" alt="Code icon"/>
2929
</div>
30-
<div class="card-body" align="center">
30+
<div class="card-body" style="text-align: center;">
3131
<p class="card-text text-center">Fix one of our open issues or work on something new that you'd like to use. All skill levels are welcome.</p>
3232
<a href="/contributing-code/" class="btn btn-sm btn-outline-primary">Guidelines</a>
3333
<a href="https://github.com/search?q=org%3Acreativecommons+is%3Aopen+label%3A%22help+wanted%22" class="btn btn-sm btn-outline-primary">"Help Wanted" issues</a>
@@ -39,7 +39,7 @@ So if you're looking to integrate CC licenses or CC licensed works into your app
3939
<div class="card-img-top">
4040
<img class="mx-auto d-block" src="/creative-commons-remix-brands.png" alt="CC remix icon"/>
4141
</div>
42-
<div class="card-body" align="center">
42+
<div class="card-body" style="text-align: center;">
4343
<p class="card-text text-center">Use CC-licensed works in your application or (coming soon!) use our WordPress plugin to license your content.</p>
4444
<a href="https://api.creativecommons.engineering/" class="btn btn-sm btn-outline-primary">Catalog API</a>
4545
<a href="/contributing-code/projects/" class="btn btn-sm btn-outline-primary">All our projects</a>
@@ -51,7 +51,7 @@ So if you're looking to integrate CC licenses or CC licensed works into your app
5151
<div class="card-img-top">
5252
<img class="mx-auto d-block" src="/keyboard-solid.png" alt="Keyboard icon icon"/>
5353
</div>
54-
<div class="card-body" align="center">
54+
<div class="card-body" style="text-align: center;">
5555
<p class="card-text text-center">If you've worked on software that uses CC licenses or tools, tell the community about it on <a href="/blog/">our tech blog</a>.</p>
5656
<a href="/community/write-a-blog-post/" class="btn btn-sm btn-outline-primary">Write a blog post</a>
5757
</div>
@@ -62,7 +62,7 @@ So if you're looking to integrate CC licenses or CC licensed works into your app
6262
<div class="card-img-top">
6363
<img class="mx-auto d-block" src="/vials-solid.png" alt="Test tubes icon"/>
6464
</div>
65-
<div class="card-body" align="center">
65+
<div class="card-body" style="text-align: center;">
6666
<p class="card-text text-center">Participate in one of our regular usability tests for CC tools that we're actively working on (we'll give you a gift card!)</p>
6767
<a href="/contributing-code/usability/" class="btn btn-sm btn-outline-primary">Learn more</a>
6868
<a href="https://github.com/creativecommons/creativecommons.org/issues/new/choose" class="btn btn-sm btn-outline-primary">File an issue</a>
@@ -74,7 +74,7 @@ So if you're looking to integrate CC licenses or CC licensed works into your app
7474
<div class="card-img-top">
7575
<img class="mx-auto d-block" src="/language-solid.png" alt="Translation icon"/>
7676
</div>
77-
<div class="card-body" align="center">
77+
<div class="card-body" style="text-align: center;">
7878
<p class="card-text text-center">Translate our content into your language. Contact us if you'd like to write code to make this process easier for new tools.</p>
7979
<a href="https://wiki.creativecommons.org/wiki/Translate" class="btn btn-sm btn-outline-primary">Translation information</a>
8080
</div>
@@ -85,7 +85,7 @@ So if you're looking to integrate CC licenses or CC licensed works into your app
8585
<div class="card-img-top">
8686
<img class="mx-auto d-block" src="/pencil-ruler-solid.png" alt="Pencil and ruler icon"/>
8787
</div>
88-
<div class="card-body" align="center">
88+
<div class="card-body" style="text-align: center;">
8989
<p class="card-text text-center">Contribute to our brand new set of standard UI components and help us apply it to all existing projects.</p>
9090
<a href="https://github.com/creativecommons/cc-vocabulary" class="btn btn-sm btn-outline-primary">CC Vocabulary</a>
9191
</div>

0 commit comments

Comments
 (0)