Building Open Source Communities In Higher Education
Transcript of Building Open Source Communities In Higher Education
Building Open Source Communities in Higher Education
BUILDING OPEN SOURCE COMMUNITIES IN HIGHER EDUCATION
Jose CedenoJustin Gallardo
Establish credibility
Who are we?
Jose starts
SLOW DOWN.
What you will hear in this talk
Online communities
How to build and maintain an open source community in higher education
What challenges college students face when trying to join OSS projects
How we are trying to address some of these problems through Beaversource
SLOW DOWN
What you won't hear in this talk
Lots of talk about Facebook, Twitter, Winko and other social networks
A magic solution that will work for all communities
Only a bunch of statistics or technical paper talk
SLOW DOWN
College students get a degree, but most do not possess the skills to successfully join an open source project
The problem:
Challenges That Students Face
Most likely lack the following basic OSS development skills:
Code repository knowledge
Code review knowledge
Open Source style documentation
Dealing and working with large repository
Filing good bug reports
Collaborating online with other OSS peers
RTFM
Collaboration within OSU
At the time that the OSS problem of college students was being worked on at OSU, other people within OSU had similar problems.
Departments around OSU wanted an easy way to share code and make it publicly available for other developers at OSU
Justin will continue talking after this slide.
Our Solution
An open source code hosting solution that also combines some of the common social networking features.
Make it easy for people to find each other and projects they might be interested
Create a safe haven where students do not feel intimidated by feedback.
Trac is modified BSD version 0.10.4
Elgg is GPL 2 version 0.9.2
All of our new code is GPL2
Our Solution
Features Offered by Other Sites
We looked at SourceForge, GitHub, Apache Incubator, and Google Code. They had the features below in common:
SCM
Wiki
Finding people and other projects
Forums
Mailing lists
Bug Tracker
Sandbox Concept
We want to provide a sandbox area where students interested in OSS can play around in a supportive environment while learning
As a CS freshman advances in his or her degree, they start building a portfolio. The various projects that they have worked on are easily available online
What is Beaversource?
http://beaversource.oregonstate.edu
An open source program that combines Elggs social networking features with Tracs project management tools
A collaboration project between College of Engineering, Central Web Services, University Housing and Dining and Network Engineering at Oregon State University
Funding for the project was also provided by an NSF grant
Trac
This is a project management written for developers by developers using Python.
The features it provides are:
Bug tracking
Wiki
SCM
Browsing code online
Statistics
Bug Tracker
Browsing Code
Wiki
Project Statistics
Trac Technical Details
Runs on Python
Postgres backend
Multi-project support
Automated project creation and management
Subversion
Using 0.10.x right now, looking to upgrade to 0.11.x
Current Limitations
We do not have true multi-project support in Trac
Lack of aggregationTickets
Changesets
Statistics
A new set of users is created when a new project is created
We are running an old version of Trac
Jose takes over after this slide.
Why is the social side important?
Makes it easy for students to find each other
People not aware of CS can use the social site and find out more about CS
Projects can communicate with users, have discussions and a more user friendly frontend
The profile page of a student becomes their portfolio after a few years
We can boost student support using things like Karma
Elgg
One of the few open source social networking sites that we can use as a framework.
It provides us with the features below
Friends
Project Profiles
Forums
Promoting Projects
User Profile
Browsing Friends
Project Profile
Forums
Marketplace
Tag Cloud
Elgg Technical Details
Runs on PHP5
Supports MySQL database (were using postgres)
It provides basic level file caching
We are in the process of upgrading from 0.9.x to 1.5
Current Limitations
We are running an old version of Elgg which gives us many limitations
Limited functionality for forums
Limited functionality for project profiles
Communities cannot have page
Not very polished code or API
Results so far
500+ users
50+ projects
Lower level classes are using Beaversource
Students are giving us plenty of feedback in the form of bug tickets :)
Giving back to the Community
We have provided patches for Elgg in the past
As we find bugs, we file them in Elggs bug tracker
We are providing a patch to Elgg1.5 to support postgres databases
We idle and participate in #elgg
Justin will start talking after this slide, finishing the presentation.
Future Plans
We are in the process of moving hosts. Beaversource will be hosted by the OSL
We are upgrading to Elgg1.5 which will give us better support for user profiles and communities
We will be doing a homepage redesign and fixing more UI problems
Improve documentation
Track website traffic better
Friend recommendations
Better marketplace support
Karma
More OSS at OSU
OSWALD
Small device with embedded Linux where students can write and test apps
http://beaversource.oregonstate.edu/social/cspfl
OSEL
Help promote open source in classes, organizes events and newsletters
http://osel.oregonstate.edu
More OSS at OSU
CWS
Deploys many websites and tools for the university using open source programs
http://oregonstate.edu/cws
OSL
Provides hosting for popular open source projects while providing great work experience to students
http://osuosl.org
Conclusion
Beaversource is for students by students
Combining project management with social networking to help bring out the open source in everyone.
Not a competition.
Questions?
Jose Cedeno
http://beaversource.oregonstate.edu/social/cedenoj
Justin Gallardo
http://beaversource.oregonstate.edu/social/gallardj
Educator Point of view
You have to make it easy for the teacher
Documentation and instructions are a must
We are not trying to replace the existing tools that the teachers have
Why not just use Facebook?
We wanted to integrate the social aspect with the coding
Launchpad and Ubuntu are also trying to combine the social and coding aspect
We are not trying to compete with facebook
Are we taking students from OSS?
Short Answer: No
We want to be just a starting point for them
As their project grows and they require a more robust infrastructure they may choose to move on to SourceForge or GoogleCode
Why not use git?
Trac comes with built-in support for SVN
Git does not have as robust or user friendly GUI programs for Windows
People can use git-svn
06/18/09