Call Girls Hoodi Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Creative commons internship report
1. Stage d’application promotion 2009
SECOND YEAR INTERNSHIP
Giannini Steren
Host Organisation — Creative Commons
Internship supervisor — Nathan R. Yergler
Date of the internship — from June 9, to August 15, 2008
Date of the report — September 1, 2008
Final Report
CREATIVE COMMONS
171 2nd Street third floor
San Francisco, CA 94105
UNITED STATES
ECOLE CENTRALE DE LYON
Service des Relations Ext´rieures
e
36, Avenue Guy de Collongue
69134 ECULLY CEDEX
FRANCE
3. Introduction
´
As a second year student at Ecole Centrale de Lyon, I had to do an internship during
the summer between my second and third year. Contrary to the one I did after my
first year, this one was more focused on applying things I have learned.
My first goal was to find an internship in an English spoken country and in the
computer science field. Taking this into account, I early started to contact com-
panies abroad. As one may guess, finding this kind of internship is really difficult.
Fortunately, I got a positive answer from Creative Commons, a non-profit organiza-
tion based in San Francisco which I knew and followed for years. After struggling to
get my Visa, I landed in June at the San Francisco international airport for a stay
of about three months.
The present report describes my summer work at Creative Commons. It first
details the background of the company describing the ideas at stake and its projects.
It moves then to the actual work I have done during the internship. Finally, I
conclude underlining the benefits of this internship and talking about my professional
future.
Unfortunately, even if this report covers my internship, I do not think it will
reflect the actual human adventure this trip was for me.
Figure 1: The Creative Commons main logo
3
4. Chapter 1
Background
1.1 What is Creative Commons?
Creative Commons (also known as CC) is a non-profit organization mainly based
in San Francisco. The organization is devoted to expanding the range of creative
works available for others to build upon legally and to share.
Creative Commons has released six main copyright licenses known as Creative
Commons licenses. These licenses allow creators to easily communicate which rights
they reserve, and which rights they waive for the benefit of other creators.
Creative Commons is widely developed on the web, many information and re-
sources can be found on their website http://creativecommons.org. As of 2008,
more than 100 million of online creative works1 are licensed under CC licenses. Many
companies trust CC and use the licenses in their production or provide the licenses
to their users2 .
1.2 Why?
Today in most countries, every time someone create something, the creative work
automatically falls under a copyright license which reserves all rights to the creator.
That can be considered as normal, hopefully, everything we make belongs to us. But
a problem arises when the creator wants to explicitly allow the sharing of his work.
Creative Commons simply gives tools to help this. What makes this powerful is
that these tools are legally efficient and totally reliable for personal and professional
uses.
1.3 An example
Here is an example to easily understand this:
Figure 1.1: The Attribution Non-commercial No Derivatives (by-nc-nd) license logo
1
see the page http://wiki.creativecommons.org/Metrics to read the study
2
see the Case Studies project (http://wiki.creativecommons.org/Casestudies) for more infor-
mation
4
5. If a creator choose the Attribution Non-commercial No Derivatives (by-nc-nd)
license, he allows the sharing of his work provided that people attribute him, do not
make any commercial use of the work and do not make any derivative of it.
Figure 1.2: The Attribution Non-commercial No Derivatives (by-nc-nd) “human-
readable” page
We can see on figure 1.2 that the conditions are easily understandable by ev-
eryone. Of course, under this human-readable page there is a legal code which is
ported in every jurisdiction. Moreover, under these human and lawyer readable
pages, there is also a machine readable code to allow people add license information
in their online works. These different layers can be seen on figure 1.3.
Figure 1.3: The “human readable” page, the legal code and the machine code
5
6. 1.4 Other Projects
Apart from the main licenses, Creative Commons focuses on more specific projects:
Creative Commons International
Creative Commons International works to “port” the core licenses to different copy-
right legislations around the world. The porting process involves both linguistically
translating the licenses and legally adapting them to particular jurisdictions.
ccLearn
ccLearn is a division of Creative Commons which is dedicated to realizing the full
potential of the Internet to support open learning and open educational resources.
The mission is to minimize barriers to sharing and reuse of educational materials.
Science Commons
Science Commons has three interlocking initiatives designed to accelerate the re-
search cycle:
• Making scientific research “re-useful”
• Enabling “one-click” access to research materials (for researchers to easily
replicate, verify and extend research)
• Integrating fragmented information sources (to help researchers find, analyze
and use data from disparate sources by marking and integrating the informa-
tion with a common, computer-readable language)
Science Commons is located at the Massachusetts Institute of Technology.
1.5 The internal structure
Creative Commons relies on the work of geographically distributed staff and vol-
unteers. The main offices are in San Francisco, Boston and Berlin. On the whole,
around 40 people are Creative Commons employees, of course the worldwide com-
munity behind the project is here to increase the radiance of Creative Commons.
Basically, the organization is divided into its main projects, and on the top of that
the Board of Directors. (refer to the organization chart page 14 for more details)
1.6 My team
During this internship, I was in the technical team. We were two technology interns
– Frank Tobia, from New Jersey (United States) and myself. Our direct superior
was Nathan Yergler, Chief Technology Officer. In the office Nathan Kinkade and
Asheesh Laroia were also part of the technical team as web and software engineers.
The “Tech team” was directly following Michael Linksvayer, the Creative Commons
Vice President.
I was very autonomous in my work, but I had to give results in time to my
superior. I had bi-weekly meetings with the other members of the team. These
“stand-up meetings” were the right time to keep track on the completion of the
different tasks, to briefly discuss problems and to update or redefine goals.
6
7. Chapter 2
My work
Along this internship, I had to work on three different things:
• My first work was to enhance the internal task and project tracking system
used at Creative Commons.
• Then as this project went well on time, I had the opportunity to work on the
perfection of the Creative Commons online license deeds.
• Finally, I developed a rather simple application to add license metadata into
files.
These three tasks were equivalent in amount of work and time.
2.1 Semantic MediaWiki
2.1.1 Background
Semantic MediaWiki1 is an extension for MediaWiki2 , the software that powers
many famous wikis on the web, including Wikipedia3 . Semantic MediaWiki adds
semantic information on to the traditional wiki engine. Creative commons uses a
Semantic MediaWiki deployment as their task and project tracking system. Nathan
Yergler and Asheesh Laroia, both part of the tech team at Creative Commons,
previously worked on a set of pages and templates to provide an simple but efficient
task and project tracking system to the organization. Unfortunately this system
does not provide any email functionalities. My first job was thus to implement
email notifications and reminders for tasks.
2.1.2 Specifications
E-mail notification: The system should send an e-mail to the assignee(s) and the
follower(s) of a task when this task is created or updated. This e-mail should contain
a link to the task page, in case of a new task it should contain the text of the task
and in case of an update, it should contain a summary of the differences (called diff).
E-mail reminders: The system should send automatic e-mails when a task dead-line
approaches. This number of days should be defined in the task properties.
1
http://semantic-mediawiki.org
2
http://www.mediawiki.org
3
http://www.wikipedia.org
7
8. 2.1.3 My Work
A MediaWiki installation can be easily customized by adding many extensions.
Because this functionality was an addition to the core system, I logically decided to
create an extension.
I decomposed my work into the following points:
1. deployment of a Semantic MediaWiki installation on my local machine and
copy of the Teamspace database
2. writing of the notification functionality:
• query the needed semantic information after the save of a page
• send the information to the right user
• properly send mails using the MediaWiki internal mail sender
3. writing of the reminder functionality: make sure that it can be launched on a
daily frequence
4. installation in production
I tested my work continually: Before starting one of these points, I had to make
sure that the previous point was successfully working.
I also had to make sure that the extension would be compatible with the next
versions of the engines I used.
2.1.4 Personal benefits
What have I learned?
• Cutting edge php: The MediaWiki software is developed in object-oriented
php. Before this work, I manipulated a lot of php code but not on such a
large scale. The class hierarchy is here well organized and the code uses a lot
of abstraction.
What are my new skills?
• installing and running a webserver
• administrating a webserver remotely
• Full MediaWiki deployment
• Semantic MediaWiki usage
2.2 XHTML and RDFa validation
2.2.1 Background
The World Wide Web Consortium (W3C)4 is the main international standards or-
ganization for the World Wide Web. It is arranged as a consortium where member
organizations maintain full-time staff for the purpose of working together in the
4
http://www.w3.org
8
9. development of standards for the World Wide Web. The W3C recommends the use
of strict XHTML to write web pages.
There are 6 basic Creative Commons licenses, each license is ported in more than
45 jurisdictions and translated in much more languages. We quickly understand that
the pages of the deeds are automatically generated. Indeed, the Creative Commons
website uses Zope 5 to generate its pages. Zope is a server side python application
that generates html. When creating pages using Zope, the developer writes pages
that look like basic html but that contain tags and macros, those call python classes
to add dynamic data to the former html code. Unfortunately the online licenses
deeds were not XHTML valid.
2.2.2 Specifications
I had to make sure the deeds, the license chooser and results pass this validation.
The license deeds are the most important to validate: millions of webpages
around the globe link to those deeds. There are crucial for the well understanding
of the different conditions of each license. In some way, they represents the static
core of Creative Commons. They should always be online and should be viewable
by the largest number of people. Validating them represents a guarantee that they
should display correctly on every web browsers.
2.2.3 My Work
Because of the simplicity of their structure, I started working on the license deeds
(see for example figure 1.3, page 4). The XHTML markup is very strict comparing
to traditional HTML. In order to correct the existing code I used the W3C XHTML
validation service6 which points out the errors in a non-valid XHTML code. In a
page, many errors were exactly of the same kind. I simply had to read the official
XHTML specifications7 to know how to modify the original code by a valid one.
For example, because of the many translations, the pages can look very different
due to text orientation. I cleaned the way the right-to-left or left-to-right information
was written in the page. The XHTML specification is very strict on this.
2.2.4 Personal benefits
What have I learned?
• strict XHTML specifications
• RDFa specifications
What are my new skills?
• Write clean XHTML
• Add semantic information to webpages
5
http://www.zope.org
6
http://validator.w3.org
7
http://www.w3.org/TR/xhtml1
9
10. 2.3 License Tagger
2.3.1 Background: liblicense
Creative Commons has developed a tool to help people add license information into
files. This tool, called liblicense8 , is a library that can be used along with a program.
It handles the way license metadata are added into files so that developers don’t
have to worry about this. By loading this library, they only have to call functions
that properly handle it.
This library has recently been released and included in famous linux distribu-
tions. It is now time for developers to start using it.
2.3.2 Specifications
My work was to create a very small application which would only have one single
functionality: add license metadata into files. This could be taken as a demo for a
liblicense use.
The specifications were very simple: make a very simple cross platform applica-
tion to add license metadata into files. This application should be very user-friendly.
Loading a file should be done by either dropping a file on the application icon or
on the application itself. Then, the user should have in one single look the license
information of the file. He then must be able to change it easily by clicking a button.
This button opens a new windows displaying a license chooser. This license chooser
must allow the user to easily choose among the Creative Commons licenses but also
public domain, full copyright or a user defined license.
Figure 2.1: The license tagger principle
liblicense is a C library but also provides Python bindings, which means it can
be called from a Python application.
2.3.3 My work
I could have built this application using C++ and the Gtk graphical toolkit9 that
I mastered. But I heard that the final graphical result could be better using other
graphical toolkit, we decided thus to use wxWidget 10 . Because liblicense is very easy
8
http://wiki.creativecommons.org/Liblicense
9
http://www.gtk.org
10
http://www.wxwidgets.org
10
11. to use in Python and because python is very well adapted for such small applica-
tions, we decided to use the python programing language. Furthermore having the
opportunity to do it in a way I did not know was much more interesting to me.
Figure 2.2: The license tagger UI
I slpit my work into the following steps:
1. getting familiar with wxPython by creating the graphical skeleton of the ap-
plication
2. open and read a simple file using File Open.
3. open a file when the filename is passed by command line
4. read and write license information in a file
5. create the license chooser UI and logic
Of course because it was the main point of this little application, I had to con-
tinually test its usability.
2.3.4 Personal benefits
What have I learned?
• Python (language)
• wxPython: a simple way to build cross platform application with UI.
What are my new skills?
• Write small python applications
• liblicense integration
11
12. Conclusion
My work at Creative Commons was an ideal way to enhance my technical knowledge
in many different fields. Moreover, I must reckon I had the opportunity to work
among very diverse, open-minded and interesting people, be they the other interns or
the CC staff. Creative Commons is a rather small structure, my everyday coworkers
were from many different fields: legal work, community and business development
and, of course, technological work. My superior proposed me to continue working
for Creative Commons, I accepted and will work remotely during my school year at
a rate of ten hours a week.
On the top of that, I must underline that I had the chance to meet various
interesting people in the San Francisco area. When I was there I quickly understood
why most of main the web-based companies are from the area. There is a real culture
of the Internet, people are considering it as a very serious business. I attended
many web-related events: from start-ups organizing parties to major event such as
LinuxWorld or a conference at Google. What is worth pointing out is that all these
internet protagonists are close to each other, this creates a real emulation between
them. Ideas are shared and enhanced at a very fast pace, these people are simply
building our tomorrow.
I realized that I really wanted to be part of this tomorrow. This confirmed the
professional project I had in mind: I like to be creative and innovative, I’m now
convinced that this field is the one that offers many opportunities for this. I’m sure
that the digital revolution is still at its beginning and that the sector will always be
widely opened for people with ideas.
12