opensource.google.com

Menu

Google Summer of Code Veteran Orgs: Apache Software Foundation

Friday, October 4, 2013

The Apache Software Foundation has been participating in Google Summer of Code since its inception in 2005. Over the years members of our projects’ communities have mentored hundreds of students and their projects with dozens of past students now involved as active contributors, committers and members. This year we accepted 51 students mentored by 78 mentors. Of these, four of the mentors would like to take this opportunity to present their student’s projects.
Apache Isis  -- Students: Bhargav Golla and Dimuthu Upeksha

Apache Isis is a Java framework for rapidly developing domain-driven apps. This summer we had two students working on new “viewers” that interact with a REST API that Isis automatically generates, reflecting the structure and behavior of the domain objects. In the past the Isis community has worked on single-page HTML5/JS viewer and on a Windows Store App viewer. For Google Summer of Code our two students are each building their own viewers, one for Android, and one using JQueryMobile (to be packaged using Apache Cordova/PhoneGap). 

Both students have become quite fluent in the REST API, and both have a viewer running that is quite usable and can be deployed to an Android mobile device.  The two viewers are broadly similar in terms of features implemented, and indeed towards the end of the project hit the limits of the available features in the REST API.  Both students have said they are keen to continue developing their viewers after the Google Summer of Code program ends. 
By Dan Haywood, Apache Mentor

 
Apache OODT -- Student: Rajith Siriwardana
Some exciting work to make Apache OODT interoperate with the scalable Ganglia open source resource monitoring system has been undertaken by Rajith Siriwardana. Rajith and his mentor, Chris Mattmann, divided the project up into several manageable milestones, first developing a fast Java parsing library for Ganglia's XML based response format. This is one of the first modular Java-based Ganglia clients that exists, and to our knowledge is the first one to exist at Apache.

With the Ganglia Java client in hand, Rajith and Chris worked to develop a weighted average load balancing algorithm that plugged into Apache OODT's Resource Monitor interface, allowing it to poll Ganglia for current metrics like 5-min, 1-min avg load, and current disk capacity and space. The algorithm then takes this information into account, along with the requirement for job load, and plugs into the Capacity based scheduler part of the OODT Resource Manager, thereby allowing OODT to poll its resource monitoring information from Ganglia.

We are excited that Rajith is now a member of the Apache OODT Project Management Committee (PMC) and a committer on the project. Apache OODT is a better overall project because of his efforts this summer.
By Chris Mattmann, Apache Mentor 
Apache OODT -- Student Ross Laidlaw
Just as a pencil needs to be kept sharp in order to be useful, computer software needs to be regularly improved and polished in order to stay relevant. Fortunately for the Apache OODT project, this is exactly the type of work Ross Laidlaw, under the mentorship of Rishi Verma, has performed over the past few months through the Google Summer of Code program. Ross has taken a component of the OODT framework called the Product Server, and sculpted it into a more intuitive and usable package. He's taken the Java servlet-based set of web applications constituting the Product Server framework, and ported them to easier-to-maintain JAX-RS RESTful end-points. Moreover, Ross has advanced the content dissemination package, that's a part of the framework, to help make available OODT metadata in various forms like: JSON, RSS, and RDF.  
Why perform all this refactoring as well as new development work? Simple: it helps to keep the OODT Product Server framework relevant, maintainable, and sharp. Ross has done an excellent job through his Google Summer of Code project, and we're definitely looking forward to his continuing involvement with OODT. 
By Rishi Verma, Apache Mentor 
Apache Gora -- Apostolos Giannakidis
Data volumes have been growing at an astronomical rate in recent years with the term 'Big Data' being used ubiquitously within tech circles, mainstream media, governments and society alike. Apache Gora is an open source object-to-datastore mapping framework providing an in-memory data model and persistence for big data. Gora supports persisting to column stores, key value stores, document stores and RDBMSs, and analyzing the data with extensive Apache Hadoop™ MapReduce support.  

Apostolos Giannakidis’ project involved extending datastore support for Oracle's NoSQL database as part of the Gora suite of datastore modules. Work on the design and implementation of the gora-oracle module included the provision of full CRUD operations while exploiting the ACID transactions, flexible consistency options and the simple data mode of Oracle NoSQL database. With these, Apache Gora will be able to integrate seamlessly with the Oracle stack and the Big Data Appliance. Also, this module is one step further toward rendering Apache Gora as the standard persistence framework for NoSQL databases. 
By Lewis John Mcgibbney, Apache Mentor
We are pleased to announce that Apache had 44 students successfully complete this year’s Google Summer of Code program. If you would like to read more about the work students completed on Apache CloudStack, during this year’s program, you can check out our blog post.

By Ulrich Stärk Apache Organization Administrator for Google Summer of Code

9th Year of Google Summer of Code draws to a close

Tuesday, October 1, 2013


The end of summer in the Northern Hemisphere also signals the end of the 2013 Google Summer of Code, our program designed to introduce university students from around the world to open source development.

In June, 1,192 university students from 69 countries began writing code for 177 open source organizations with the help of 2,218 mentors from 71 countries -- quite the team effort! We are excited to announce that 88.6%* (1056) of the students passed their final evaluations. If you would like to read about more numbers on the Google Summer of Code program you can view a variety of statistics on the previous eight years of the program.

Stay tuned to this blog each Friday until the end of the year for wrap up posts from many of this year’s Mentoring organizations.

Now that the program has concluded, the students are busy preparing their code samples for all eyes to see. Soon you will be able to go to the program site where organizations will have links to the student’s code repositories.

Thank you to all of the students, mentors and organization administrators that have helped to make this 9th year of the Google Summer of Code a great success!

By Carol Smith, Open Source Programs

* This number could change slightly in the next few weeks.


Google Summer of Code Veteran Orgs: Monkey Project

Friday, September 27, 2013


Monkey Project is an open source organization that focuses on the development of web backend technologies with products such as Monkey HTTP Server: a fast and lightweight HTTP Server for Linux and Embedded Linux, and Duda I/O: an event-driven and scalable web services framework in C.

This is our second year participating as a mentoring organization for the Google Summer of Code program and this year we were given four student slots. During the evaluation period we chose the students not just by their technical skills, but also their motivation, previous contribution with the organization, capacity to learn and ability to adapt to change.

After months of hard work, all students accomplished their main goals and they worked very hard to learn networking programming and different areas of the architecture of our HTTP server. Below are descriptions of the four projects our students worked on this summer.

 - Monkey Architecture changes (Future Monkey proof for new protocols): Monkey HTTP Server is an event driven web server with a strong focus in Linux and its current architecture allows to extend the core features through plugins. But with the incoming improved protocols such as SPDY and HTTP/2.0, it requires a major refactoring to support multiple protocol layers in the proper way to avoid sacrifice performance. On this project, Sonny Karlsson is busy working on refactoring the plugin API and different scheduler mechanisms, the work completed is very promising and will be merged with mainline code shortly.

 - Monkey Caching plugin: the Monkey server is very fast but it can still perform better by reducing some I/O, so this summer we received a good proposal to add caching support to the server through the plugin interface. Hamza Zia did research and tested different caching mechanisms and has already implemented the first caching prototype which is showing good performance improvements.

- Monkey Proxy Reverse plugin: a HTTP server not only needs to serve static content, it is mostly a proxy for different resources. This project aims to create a Proxy Reverse plugin with different balancing algorithms to add a security layer in front of backend servers and redirect requests per different configuration schemas. Nikola Nikov has implemented all required components to accomplish this goal, the plugin is in a good state and already functional for testing purposes.
Nikola Nikov's workstation

 - Duda I/O - MariaDB/MySQL and PostgreSQL support: Duda I/O is a web services framework built on top of Monkey, it is an event driven extensible stack in C for high performance web applications. This goal of this project is the creation of two packages to add support for asynchronous connectivity to MariaDB/MySQL and PostgreSQL databases. Zeying Xie has done a very good job adding support for the relational databases mentioned. Now we support NoSQL and common DBs.

It is very important to us to keep our organization and community informed about "how" and "what" is being done by our students through the Google Summer of Code program. If you are interested in more technical details about each project, we invite you to follow the blogs (linked to the student’s names above) that are updated on a weekly basis.

By Eduardo Silva, Monkey Project - Google Summer of Code Organization Administrator

GanetiCon 2013

Monday, September 23, 2013

This year Ganeti, the cluster virtualization manager that Google released in August 2007, celebrated its sixth birthday. Over the years, there have been many improvements and changes to Ganeti as the user community continues to grow.

During the first week of September, Google, GRNET and Skroutz organized GanetiCon 2013, the first Ganeti user and developer conference, in Athens, Greece. Over the course of the three-day conference, 50 people met to discuss Ganeti and the future: how they use it, and what they'd like to see come out of it, with workshops on features and discussions between community members.

Among the topics we identified as key for Ganeti were:

- Better fleet management for environments with multiple clusters
- Improvement of OS installation and image management
- Better disk support
- Security improvements and reduction in the use of the root account
- Increased support for different types of "partial shutdown" situations

The community also presented software based around Ganeti. Over the years, two web managers were developed, Ganeti Web Manager and ganetimgr, as well as a full openstack compatible cloud based on Ganeti, Synnefo. Organizations gave presentations on their usage of Ganeti including the Debian Project, the Oregon State Open Source Lab (OSUOSL), Google, GRNET and Skroutz.

We are very excited about the feedback and community appreciation we received for organizing the event and we look forward to working on the most important issues, and to organize a new event in 2014!

By Guido Trotter, Ganeti

Google Summer of Code Veteran Orgs: 52 North

Friday, September 20, 2013


We recently wrapped up our summer blog series highlighting new Google Summer of Code organizations. Now it’s time to feature some of the 130+ veteran organizations that participated in Google Summer of Code 2013. Each Friday for the next few months, we will spotlight a veteran organization and the projects their students worked on over the summer. To kick it off, the organization administrator from 52°North talks about their project and their second year as a mentoring organization.
The open source software initiative 52°North is an open international network of partners from research, industry and public administration. Its main purpose is to foster innovation in the field of Geoinformatics through a collaborative R&D process. The R&D process takes place within 52°North R&D communities, which develop new concepts and technologies (examples include: for managing near real-time sensor data, integrating geoprocessing technologies into SDIs, and making use of GRID and Cloud technologies). These communities evaluate new macro trends, such as the Internet of Things, the Semantic Web or Linked Open Data, and find ways to unfold their use in practice. 
As a returning Google Summer of Code mentoring organization, 52°North was particularly thrilled to have four students work on different projects in the fields of Sensor Web, Geostatistics and Geoprocessing this summer. 52°North’s overall goals for the projects were to improve the usability of the products and extend the user base to new domains. 
Khalid Alqinyah created a new admin web application for the 52° North Web Processing Service (WPS). This new application will improve the WPS back end code with an updated implementation and provide the front end with a new and ergonomic user interface. 
Patrick Noble added support for seismic data within the 52° North Sensor Observation Service. This seismic data will then be visualized by the Sensor Web Client. The result of his work will be a comprehensive toolkit for publishing and visualizing seismic data.
Jinlong Yang developed classes and methods that enable trajectory analysis in the R language. We expect this enhancement to become a valuable tool for all researchers dealing with trajectory data as it will open up R for a whole range of new application scenarios. 
Mohammad Ahmed Hamed Yakoub implemented the Open Sensor Search (OSS) idea in an agile software development process. OSS is a platform for the discovery of in-situ sensor data. The resulting discovery solution will become a cornerstone within the 52°North Sensor Web framework, allowing the development of more sophisticated client applications. 
By Jan Schulte, 52°North Organization Administrator
Currently, students are busy putting the finishing touches on their projects and starting next week they will submit the code they have been working on these last 3 months. Good luck to all the students in these final days of Google Summer of Code 2013.

By Stephanie Taylor, Open Source Programs


.