Earlier this month the Google Open Source Programs Office hosted the Grand Prize winners of the Google Code-in contest, a contest designed to introduce pre-university students (age 13-18) to the many kinds of contributions that make open source software development possible. Students worked on many types of task including: writing or refactoring code, documentation, translations, outreach/marketing, quality assurance (testing), conducting research, training, and user experience research. Students earned points for each task they completed, with the top 14 point accumulators winning a trip for themselves and a parent to the Googleplex in Mountain View, California.
Day 1
Upon their arrival in the San Francisco Bay area, students had their first meet-and-greet dinner at their hotel near Google. Many students had worked with the same open source organizations so they had ‘seen’ each other in chat rooms, on IRC, and on group lists but this was the first time the students actually met one another. The bonding began right away as students quickly started moving tables together as more students arrived so that all of the students could talk to each other.
Day 2
Students and parents spent the next day at the Googleplex. The morning began with an introduction by Google Code-in Program Manager, Carol Smith, congratulating the students on their achievements and giving them a talk on Google Summer of Code, our worldwide program for university student developers giving them stipends to write code for various open source software projects.
Next, the students were treated to a talk by Alan Eustace, Google Senior Vice President of Knowledge. Alan discussed the evolution of search and where we go from here.
Three engineers in our Open Source Programs Office, Shawn Pearce, Junio Hamano and Dave Borowitz, chatted with the students about their roles at Google, their work in open source and specifically with Git.
Lilli Thompson, Game Developer Advocate for Google, discussed her role at Google and her experience as an engineer in the gaming industry.
Lunchtime at Google’s largest cafe was next on the agenda followed by a tour of the Google campus. One of the stops on the way was the picturesque front lawn of Mr. Android, complete with all of his releases: cupcake, donut, eclair, fro-yo, gingerbread and honeycomb. Perfect place for a photo op....
...then on to the Google onsite store to pick up some fun schwag to take home to friends and family.
When the students arrived back to our conference room they were welcomed with large plush bug-droids, compliments of Dan Morrill and the Android team. Dan chatted about Android and took questions from the students and parents.
Jutta Degener discussed her job as a Software Engineer working on the Borg cluster management system.
Jeremy Allison, co-creator of Samba and Open Source Programs team member, engaged the group in a lively discussion about why open source development is important to the world and the important role these students can play in the years to come.
Chris DiBona, Manager of open source at Google, encouraged the students to continue working on open source software development as they move into university. He also discussed the importance of open source software at Google and more history on the Google Summer of Code program. Then it was time for the awards ceremony for these amazing students. Chris DiBona presented each student with their engraved, very substantial (ie. heavy) awards.
We wrapped up the day with chief Java architect and Open Source Programs Office team member, Josh Bloch, running through a few Java puzzlers with the students.
Day 3
Students spent the next day of their trip in San Francisco enjoying a behind the scenes tour at the California Academy of Sciences complete with a planetarium show. To have energy for their next adventure, the group filled up on chocolate ice cream and banana splits at Ghirardelli Chocolate shop. Then the parents and students spent 2.5 hours on segways touring around Fisherman’s Wharf and the North Beach neighborhood.
The students traveled to Northern California from 8 countries: Austria, Brazil, Canada, India, The Netherlands, New Zealand, Romania, Turkey, and the United States. This group was a great representation of the talented students around the globe interested in open source software development.
The students left all of us in the Open Source Programs Office feeling lucky to have met these rising stars in the open source world. We hope to see them again in Google Summer of Code (once they are old enough) and at future open source events around the world. We’re sure this is not the last we’ll hear of these bright, hardworking, humble, gracious young adults. Keep up the great work!
By Stephanie Taylor, Open Source Programs
Posts from June 2011
Introducing Solar Permit AppEngine Examples
Tuesday, June 28, 2011
It was a milestone that took over 50 years, and at last solar panel manufacturers can produce their modules for less than $1/Watt. Now, the renewable energy community is faced with the dilemma that the permitting and interconnection costs, i.e. the paperwork, is a significant fraction of the cost of a rooftop installation. To deploy gigaWatts of solar energy in the United States these costs need to drop. In response, the Department of Energy has made permitting part of its Sun Shot Initiative and SolarTech has launched its Solar Permitting Challenge. And now Google is pleased to announce Solar Permitting Code Examples to make it faster for software developers to be productive using AppEngine.
A small team of Googlers (Alex Martelli, Arjun Satyapal, Clay Murphy, Luke Stone, Ross Koningstein and Dave Fork) pooled their 20% time to help out. We tried to make the task of building a web based permitting application easier by providing examples of essential tasks in AppEngine including login, creating new permit requests, uploading files, and gathering statistics. Two different versions, one in Python and one in Java, were created.
We were inspired to create this code example by the work that SolarTech has done to promote faster permitting through its Solar Permitting Challenge, and by the Solar ABCs efforts to produce a simple, uniform process for solar permitting. The user login screen for the Python code example appears below.
Navigant consulting estimates that there are 700 gigaWatts of solar power generation resource on rooftops in the United States. Overall, we believe that efforts to streamline the workflow connected with rooftop solar installations could reduce the costs of installations by 50 cents/Watt. Please help us help the industry make this a reality.
By Dave Fork, Solar Permitting Team Member
Googlers are everywhere this summer
Sunday, June 26, 2011
June and July are especially packed with conferences this year and Googlers are hitting the roads to organize, speak at and participate in conferences all over the world.
Earlier in the month over the June 17-19 weekend, Google was pleased to host a gathering of GCC developers in our London office. The informal working meeting was organized by Diego Novillo and Ian Taylor with assistance from Cat Allman to discuss current/future work and coordinate efforts.
Members of the Open Source Programs Office were in Portland, Oregon last week at Open Source Bridge. Open Source Bridge is a conference for developers working with open source technologies and for anyone interested in learning the open source way. During the conference, Google hosted a BoF session one evening for all students, mentors and anyone interested in learning more about Google Summer of Code.
Also last week, a gaggle of Googlers including Alex Martelli and Wesley Chun descended on Florence, Italy for EuroPython, the official European conference about the Python programming language. The conference completely sold out this year.
This week, Googlers will be heading to Porto Alegre, Brazil to speak at FISL (International Free Software Forum), the largest free software event in Latin America from June 29 - July 2.
Jeremy Allison, OSPO team member and co-founder of Samba, will be speaking on “The State of Samba” Wednesday, June 29th at 10am.Carol Smith, OSPO team member and Program Manager for Google Summer of Code, will be talking about the Google Summer of Code program on Wednesday, June 29th at 4pm. She'll include statistics and interesting tidbits from the previous 6 years and some interesting changes we've made to the program for this year.Andrew Gerrand, Google Developer Advocate for the Go Programming language, will be presenting a talk Thursday, June 30th at 9am on “Writing Simpler Code: Programming in Go.” His talk will demonstrate how you can use Go to write elegant, reusable, and correct programs. Later that day at 3pm, Andrew will host a tutorial titled “Get Started with Go”.
Next month many Googlers and open source enthusiasts will be converging on Portland, Oregon for the largest open source conference, OSCON, held from July 25-29 at the Oregon Convention Center. We will have another post in the next couple of weeks with a comprehensive list of all of the Googlers speaking at OSCON. We hope to see you at an event soon!
By Stephanie Taylor, Open Source Programs
Who’s New in Google Summer of Code: Part 4
Friday, June 24, 2011
This summer we are writing a series of posts featuring the new organizations participating in their first Google Summer of Code. This is our fourth installment where the organizations explain their project in more detail and discuss the tasks the students are working on this summer.
Elgg is an open source social networking project that began as an experimental thesis project in 2004. The technical goals for Elgg are to create a social engine that is accessible to end users but easily extensible for developers. Elgg’s participation in this year’s Google Summer of Code is an amazing chance for Elgg to get involved with the larger OSS community.As a first year organization, we were humbled and surprised by both the quantity and the quality of applications we received. Narrowing it down was difficult, but in the end we picked three talented and eager students with ambitious ideas.Francisco Hidalgo is implementing a method to allow user-generated content to be translated into multiple languages -- an important feature for sites with a large international user base.Ravindra Nath Kakarla is working to streamline the Elgg user experience by Ajaxifying large parts of the application. This is a high profile project that Elgg users (and core developers) can’t wait to see.Saket Saurabh will implement a standardized web services API and build an accompanying Java client. This API will allow alternative interaction with Elgg sites and provide developers even more flexibility in how they work with Elgg.By Brett Profitt, Elgg Organization Administrator----------OpenIntents is an open source project entirely focused on Android. Early-on, in 2008, we believed that more could be done to develop key concepts of the Android operating system and generate awareness. OpenIntents is one of the few open source projects actively targeting extension of the mobile operating system, and housing expert knowledge on it.OpenIntents educates and empowers developers to use revolutionary new key features of Android, most notably the Intents mechanism that enables applications to reuse and interface with other applications. We provide a registry that brings developers together so they can make their applications compatible, and we act as a standardization body.OpenIntents also aims to develop general functionality that is not in Android currently, but we feel should be, as well as to pioneer new ways of working. To illustrate or push forward the above we develop samples and free applications. Some of these applications have grown to be quite popular and we support them in the Market, like OI File Manager or OI Shopping List.In 2011 OpenIntents was selected to mentor two projects in the Google Summer of Code. The first student, Elena, will enhance our SensorSimulator which is used by developers to debug applications that make use of the device sensors, and in particular, she will look into improving the device representation and handling. Our second student, Andras, will develop Historify, a new application that will become an open timeline module that 3rd party apps can post to. The timeline shows the interaction history between the user and contacts regardless of technology, like phone calls, messages, or social media.By Peli Oi, OpenIntents Organization Administrator----------SymPy is a full fledged computer algebra system written completely in pure Python. It presently has some very powerful features, like symbolic differentiation and integration, series, limits, symbolic matrices, solvers, simplification, polynomials, and quantum physics. SymPy can be used as a library, or executed like a calculator from a Python or IPython prompt using the isympy script.The SymPy code is written to be easy to read and easily extensible. This and the fact that SymPy is written in Python has made it a very popular open source computer algebra system. The code for SymPy is all BSD licensed, so just about anyone can use SymPy in their code. Also, SymPy does not require any external dependencies to run (other than Python), which means that SymPy can be used in any environment that can run Python, such as Google AppEngine or any desktop computer.SymPy has participated in Google Summer of Code since 2007 under umbrella organizations such as the Python Software Foundation, Portland State University and the Space Telescope Science Institute. This year for the first time we were accepted by Google as a mentoring organization. We were able to accept nine student projects. You can follow the student’s progress on their projects here.We look forward to what should be our best year for SymPy development ever!By Aaron Meurer, SymPy Organization Administrator
These are just a few of the 50 new organizations participating in Google Summer of Code this year. Please check back next Friday when we highlight 4 more new organizations. For a complete list of the 175 organizations participating in the Google Summer of Code please visit our program site.
By Stephanie Taylor, Open Source Programs
Introducing Native Driver
Wednesday, June 22, 2011
NativeDriver is an implementation of the WebDriver API which drives the UI of a native application rather than a web application. I am happy to announce that the Android version is available for download and we are welcoming all users and contributors. We are hosting on Google Code (http://nativedriver.googlecode.com/). An iPhone (iOS) version is under development and will be available soon.
WebDriver exposes browser functionality as a clean, object-oriented API, and Google uses WebDriver to test web applications on many platforms. (For an introduction to WebDriver, see this blog post.)
You are probably wondering why anyone would use the WebDriver API to test native applications. Our reasoning is:
- user interactions with a native application and a web application are essentially the same: click, type, switch window, read text
- test writers will have to write the same test for each platform they want to support
- no one wants to learn yet another API
- WebDriver already has a user base and a tool ecosystem that can migrate easily to a new API if it is WebDriver-like
- therefore: let’s re-use our favorite UI testing API
NativeDriver is our attempt to apply WebDriver’s simplicity and success to native applications. It extends the WebDriver API in a few key places, and re-interprets the existing API for native applications.
Here is some code from a NativeDriver test against the Google Maps Android app (the test can be seen in action in this video):
AndroidNativeDriver driver = new AndroidNativeDriverBuilder()
.withDefaultServer()
.build();
driver.startActivity("com.google.android.maps.MapsActivity");
// Open the Places activity by clicking the places button
// (to the right of the search box)
AndroidNativeDriver btn
= driver.findElement(By.id("btn_header_places"));
btn.click();
// Dismiss the Places window
// Equivalent to pressing the Android Back button
driver.navigate().back();
// Rotate the device to show the UI in landscape mode
driver.rotate(ScreenOrientation.LANDSCAPE);
.withDefaultServer()
.build();
driver.startActivity("com.google.android.maps.MapsActivity");
// Open the Places activity by clicking the places button
// (to the right of the search box)
AndroidNativeDriver btn
= driver.findElement(By.id("btn_header_places"));
btn.click();
// Dismiss the Places window
// Equivalent to pressing the Android Back button
driver.navigate().back();
// Rotate the device to show the UI in landscape mode
driver.rotate(ScreenOrientation.LANDSCAPE);
Except for the startActivity method, and the use of a builder object to create the driver, all the API calls made are standard WebDriver API calls. Creating the driver with a builder is necessary because the driver can also be set up with an Android Debug Bridge (ADB) connection.
Android NativeDriver uses Instrumentation to monitor and manipulate the application under test. Instrumentation is a standard feature of Android but it has some limitations. For instance, it cannot drive UI which is part of another process. (If it could a malicious application could hijack the device.) This is where ADB saves the day. The ADB is a connection from outside the device and is not tied to a particular application, so with it we can inject events across applications. ADB also made it possible to add screenshot support, and we plan to utilize it in new ways as NativeDriver matures. This is one way Android NativeDriver tests are more powerful than standard Instrumentation tests.
You can try out Android NativeDriver right away with the tutorials for running a sample test or instrumenting your own application. You may also want to join the users or developers mailing list.
Good luck and happy native testing!
By Matt DeVore, Engineering Productivity Team
Visualization Meetup at the Googleplex
Monday, June 20, 2011
Earlier this month we were excited to host a joint meetup with the Bay Area visualization group and the Bay Area R user group at Google’s headquarters in Mountain View.
Hadley Wickham from Rice University came and gave a talk on Interactive Graphics in R. Earlier in the day we were excited to host him for a Google Tech Talk on Engineering Data Analysis for the many internal Google teams using his ggplot2 software for visualization with R. The videos for both talks are available from YouTube.
You may remember our previous post about Hadley’s visualization work when his Google Summer of Code student was awarded a prestigious statistical computing award for his work with ggplot2.
Thanks to the Open Source Programs Office at Google for hosting this event, the meetup organizers, Zhou Yu, and of course Hadley Wickham.
By Murray Stokely and Zhou Yu, Google Engineers and Analysts
Who’s New in Google Summer of Code: Part 3
Friday, June 17, 2011
This is the third in our series of posts this summer featuring some of the organizations participating in their first Google Summer of Code. The organizations explain their project and the tasks the students will be working on this summer.
Atomic.Blue is all about gaming, roleplaying and building complex engines. One thing that we learned is that building a mmorpg with open source and free resources is nearly impossible, but we are visionary or blind enough to work on it anyway! A virtual world like PlaneShift has all the elements of a massive entertainment production, including music, sound, settings, artificial intelligence, 3D programming, shaders, server side and client side programming, networking, drawings and 3D models, history, data mining and more.
Google Summer of Code will allow us to attack some of the core features that really need some improvements, including the combat system, the UI, the sounds and the artificial intelligence for our tribes. In particular, on the tribes we want monsters to be able to create villages and dungeons by themselves based on the resources they find. Players will be able to interact with the tribes and decide if they want to help the tribe grow or attack it. We expect a big leap forward thanks to this summer of coding. But there is more to do and if you want to see a free mmorpg, join the fun and contact us!
By Luca Pancallo, PlaneShift founder and project lead
----------
Buildbot is a distributed continuous-integration framework written in Python with Twisted Python. The software is very flexible, and we have a wide variety of users - from small testing systems for open source projects to very large build, test, deployment, and release automation systems. We have two students this year. One is working on adding the notion of a "user" to Buildbot, so that it can correlate the author of a commit with an IRC nickname or an email address and report build results back. The other student is working on simplifying some of the more complex behaviors in Buildbot like checking out the source code to build or test, and consolidating the implementation of that behavior in the master process.
By Dustin Mitchell, BuildBot Organization Administrator
----------
All of us at Universal Subtitles want to give a big welcome to our two Google Summer of Code students, Misha Amashukeli and Rohan Jain. They are working on two related projects: Universal Subtitles browser extensions and a system for requesting subtitles from other users. Together, these two features will bring us a big step closer to our vision of making subtitles and volunteer subtitle creation ubiquitous.
With the Firefox, Chrome, and Internet Explorer extensions Misha is working on, you’ll be able to enable Universal Subtitles on every video you see. Rohan’s work will let you request subtitles from other users when you need them, and get notified when other users need your help.
Misha is in Tbilisi, Georgia and he’s quitting his job at an insurance company because he’d rather work on free and open source web applications (awesome). Rohan is a software developer and open source enthusiast from Jaipur, India who likes coding in Python/Django and who’s been a solid participant in our project since the Google Summer of Code application process began. They were both at the top of a long list of really great Google Summer of Code applicants, so thanks and good luck to everyone else who applied. We were allotted only two slots, so it was hard to choose! Some of the applicants have decided to pursue internships with us this summer outside of the Google Summer of Code program.
By Holmes Wilson, Universal Subtitles Organization Administrator
These are just a few of the 50 new organizations participating in Google Summer of Code this year. Please check back next Friday when we highlight 3 more new organizations. For a complete list of the 175 organizations participating in the Google Summer of Code please visit our program site.
By Stephanie Taylor, Open Source Programs
Pseudolocalization to Catch i18n Errors Early
Wednesday, June 15, 2011
Internationalization (often abbreviated i18n) is the process of making an application localizable for users in different locales, while localization (often abbreviated L10n) is the process of actually localizing an application for a particular locale. In today’s globally connected world, it is rare that an application does not need to support users in many different locales.
Pseudolocalization is the automated generation of fake translations of a program's localizable messages. Using the program in a pseudolocale generated in this manner facilitates finding bugs and weaknesses in the program's internationalization. Google has been using this technique internally for some time, and has now released an open-source Java library to provide this functionality at http://code.google.com/p/pseudolocalization-tool/.
Take a look at the following screenshot and see if you can spot the internationalization problems:
Some common problems in localizing applications are:
Some common problems in localizing applications are:
- Non-localizable text A program may have hard-coded text in the program source itself, or parts of messages may come from other non-localized sources (such as from a database), or there could be bugs in finding and using localized messages. The accents pseudolocalization method helps identify these problems by replacing US-ASCII characters with accented or otherwise modified versions, while still remaining readable. That way, if you see unaccented text, you know that text will not be localized for real locales either.
- Combining separately translated sentences or paragraphs A program may “piece together” complete sentences/paragraphs from smaller translated strings. This is a problem since some locales may require that parts of the sentence/paragraph be reordered, or the translation may depend on the context of what else appears in the sentence. The brackets pseudolocalization method adds [ and ] around each translated string to clearly show translation boundaries. If you see a sentence/paragraph broken up into multiple bracketed pieces, you know it is likely to be impossible to translate well for some locales.
- User interface elements don’t give sufficient space for translated text Some languages, such as German, frequently have translations that are much longer than the original message. If the user interface does not allow sufficient room for such languages, parts of it may appear wrapped, truncated, or have unsightly scrollbars in such locales. If the developer only tests with the original language, the developer may not discover these problems until late in the development cycle. The expander pseudolocalization method addresses this by making all the strings longer. Looking at the resulting pseudolocale will allow the developer to find such problems long before real translations are available and without requiring knowledge of other languages.
- Improperly “mirrored” user interfaces in right-to-left locales Some languages like Arabic and Hebrew are written right-to-left. A user interface in a right-to-left (RTL) language needs to be laid out in a mirror image of a left-to-right layout. The only way to tell if this has been done properly is to try the user interface in an RTL locale. However, using a real RTL language is problematic both because translations are unlikely to be available until late in the development cycle and because few developers might be able to read any RTL languages.
Using untranslated LTR messages in an RTL user interface is problematic because it masks real problems and creates apparent problems where none actually exist. Just setting dir="rtl" on the HTML element of an otherwise-English UI produces something like this:
Note how some of the punctuation is misplaced and not mirrored, the radio buttons are a mess, and the order of the menu items isn’t mirrored. None of these happen to be real problems -- they will disappear when the English strings are replaced with real translations.We find the most useful combinations of pseudolocalization methods to be accents/expander/brackets for finding general internationalization problems, and fakebidi for finding RTL-related problems. We use BCP47 variant subtags to identify locale names that get pseudolocalized translations: psaccent (as in en-psaccent) gets the accents/expander/brackets pseudolocalization, and psbidi (as in ar-psbidi) gets fakebidi. Note that for psbidi, using a real RTL language subtag is recommended since that will trigger RTL handling in most libraries/frameworks without any modifications. We hope to get these variant tags accepted as standard.
The solution is the fakebidi pseudolocalization method, which takes the original source text and adds Unicode characters to it to make it behave just like real RTL text while remaining readable (though backwards).
We have taken the sample application from above and run its translatable text through psaccent and psbidi pseudolocalization. Now take a look and see how much more easily internationalization problems can be identified:
Note that three problems have been revealed by the use of psaccent:
- the space provided is insufficient for longer translations
- “Add Contact” is split across two messages making it difficult to translate correctly
- the button text has not been translated
Notice this doesn’t introduce problems that aren’t there like the earlier example, but it does show that the Help menu item does not float to the left side of the window as it should.
Initially, this is just a library for use with other tools. We plan to write a command-line tool for taking message sources and producing fake translations of them. In addition, we are in the process of integrating this library with GWT, so GWT users can take advantage of it just by inheriting one module.
In summary, pseudolocalization is useful for finding internationalization problems early in the development process and enabling the developer to fix them before wasting money on translations that may have to be changed to fix the problems anyway. We hope you will use this library to help make your application usable by more people, and we welcome contributions and discussions at https://groups.google.com/forum/#!forum/pseudolocalization-tool.
By John A. Tamplin, Software Engineer
Who’s New in Google Summer of Code: Part 2
Friday, June 10, 2011
This is the second in our series of posts this summer highlighting a few of the organizations participating in their first Google Summer of Code. The organizations give a brief description of their project and the tasks the students will be working on this summer.
LanguageTool is one of the very few open source style and grammar checkers. It tries to find errors in a text that a spell checker cannot find. This works by matching the text against pattern rules. If there's a rule for the error, it can be found, if there is no such rule, then it can not be found. There's also the risk that a pattern rule matches text which is actually correct, so the user would get a false alarm. This is where our two student projects come in: one project will be adding more rules by reusing rules from other open source grammar checkers, the second student will develop a way for us to test rules that are still in development against a large amount of text. This way we can fix the false alarms before a release.
By Daniel Naber, Organization Administrator for LanguageTool
----------
The 'Computational Science and Engineering at TU Wien' project develops software for the simulation of a plethora of physical phenomena. Example applications range from fluid dynamics, to the propagation of high frequency waves and electronic devices such as lasers and transistors, to the mechanical stability of human bones.
Our students will be working on the following: Cristina Precup will design a constructive solid geometry input file format that allows users to conveniently specify two-dimensional geometries using boolean operation on primitives such as circles and rectangles. Our second student, Jorge Rodriguez, will investigate a convenient approach to parallelize the volume meshing step for meshes of considerable size. Markus Wagner, our third student, will work on using graphics processing units (GPUs) to accelerate solving the large systems of equations that describe certain physical phenomena.
By Karl Rupp, Organization Administrator for Computational Science and Engineering at Tu Wien
----------
Learning Unlimited works with over 900 college student volunteers to create educational programs for over 6000 middle and high school students across the US. Our programs invite pre-college students to choose between hundreds of topics like quantum mechanics, urban design, Shakespeare, or street drumming and create an environment where it is socially acceptable to share your excitement about learning. Our open source software automates a lot of the processes for running these programs so that college students can focus on making an awesome weekend for younger students.
We are mentoring two promising students sponsored by Google Summer of Code. Jordan Moldow joins us from MIT, home of the oldest and largest LU chapter; he will be implementing a new student registration system that is easier to use and gives directors more flexibility in implementing application and lottery processes. Jordan is also planning to improve our application's data viewing and export capabilities. Vishal Dugar, from the Birlani Institute of Technology and Science in Pilani, India, has joined us to implement a custom forms builder. This system will act somewhat like Google Forms, but with backend storage in dynamically generated Django models and the ability to link form fields with model fields in the existing schema. These contributions should substantially enhance the ability of our volunteers to coordinate and support unique educational events at a growing number of universities.
By Daniel Zaharopol, Organization Administrator for Learning Unlimited
These are just a few of the new organizations participating in the Google Summer of Code this year. Please check back next Friday when we showcase additional new organizations. For a complete list of the 175 organizations participating in the Google Summer of Code please visit our program site.
By Stephanie Taylor, Open Source Programs
YouTube and Creative Commons: raising the bar on user creativity
Monday, June 6, 2011
Have you ever been in the process of creating a video and just needed that one perfect clip to make it pop? Maybe you were creating your own music video and needed an aerial video of Los Angeles at night to spice it up. Unless you had a helicopter, a pretty powerful camera and some fierce editing skills, this would have been a big challenge. Now, look no further than the Creative Commons library accessible through YouTube Video Editor to make this happen. Creative Commons provides a simple way to license and use creative works.
You can now access an ever-expanding library of Creative Commons videos to edit and incorporate into your own projects. To find a video, just search in the YouTube search bar or from within the YouTube Video Editor. We’re working with organizations like C-SPAN, Public.Resource.org, Voice of America, Al Jazeera and others, so that over 10,000 Creative Commons videos are available for your creative use.
To get started, visit youtube.com/editor and select the CC tab:
Any video you create using Creative Commons content will automatically show the source videos’ titles underneath the video player:
You can now access an ever-expanding library of Creative Commons videos to edit and incorporate into your own projects. To find a video, just search in the YouTube search bar or from within the YouTube Video Editor. We’re working with organizations like C-SPAN, Public.Resource.org, Voice of America, Al Jazeera and others, so that over 10,000 Creative Commons videos are available for your creative use.
To get started, visit youtube.com/editor and select the CC tab:
Any video you create using Creative Commons content will automatically show the source videos’ titles underneath the video player:
As part of the launch of Creative Commons licensing on YouTube, you’ll also be able to mark any or all of your videos with the Creative Commons CC-BY license that lets others share and remix your work, so long as they give you credit. To mark your video with the Creative Commons license, select ‘Creative Commons Attribution license’ on the upload page or on the Video Description page:
You can learn more about Creative Commons on YouTube at our help center, and remember that all content must still follow the rules in our Copyright Center.
We’re excited to see what you come up with!
Stace Peterson, Software Engineer
(This is a cross post from the Official YouTube Blog)
Who’s New in Google Summer of Code: Part 1
Friday, June 3, 2011
This year we are excited to have 50 organizations participating in their first Google Summer of Code. We asked each of these new organizations to contribute a short description of their project for a series of posts we’ll be running this summer, beginning today.
HelenOS
For some years, we have been developing a microkernel-based multiserver
operating system, which is not quite like the other fish in the pond. HelenOS is designed with hardware portability in mind, so it runs on many different processor architectures, such as SPARC and Itanium to name a few. At the same time, HelenOS is not quite like Unix, which both gives us freedom to design our interfaces as we please and also represents a substantial limitation to what software can be directly added to HelenOS without major modifications.
We are very excited about our acceptance to this year's Google Summer of Code, because through the program, we were given a chance to take our locally popular academic project much further. Two of our three accepted students are from universities with previously zero exposure to HelenOS.
This year, we have a couple of student projects that aim to make the usability gap mentioned above a lot smaller by porting binutils and pcc to HelenOS while enhancing our standard C library in parallel. Having a functional toolchain will take us two steps closer to becoming self-hosting one day. Our third project is focused on improving our FAT file system server and adding support for its many commonly used variants.
By Jakub Jermar, HelenOS Orginazation Administrator
----------
illumos is the fully open community fork of the OpenSolaris operating system.
Our goal is to foster open development of technologies for the 21st century while building on a 20 year heritage, but free from the oversight of a single corporate entity and the resulting challenges thereof.
We're thrilled to be part of the 2011 Google Summer of Code, and to have two talented students on board. Harshit Jain is integrating GRUB 2 as our boot loader and Shashank Karkare is rewriting our Perl system tools in C. We also offer mentorship open to anyone through our illumos Students program.
By Albert Lee, illumos Organization Administrator
----------
The Freeseer project was created to make recording video extremely easy. It's primary goal was to make recording large conferences with many talks possible on a frugal budget and ensure recordings are high quality. Since its birth in late 2008, Freeseer has evolved to do a very good job of recording talks, presentations, demos, and other video with an intuitive interface and is continuing to mature and develop. We have practical goals for 2011:
1) Improve installation. We want to make Freeseer available on Windows, Linux, MacOS, and *BSD. We want the install experience to be very easy so we've recently been putting work into packaging and thinking about how to simplify software management challenges to get our prerequisites installed on Windows.
2) Live streaming. We want to make sharing content as easy live as it is with recorded videos.
3) We've been approached by organizations that need a solution such as Freeseer to record lectures, meetings, presentations, and so forth. They need features like automatic recording in a given room according to a schedule, automatic uploading of video files after they are recorded, robust and scalable hosting they can count on and voice over IP support so remote participants can participate in the conversation. They are also interested in securing the video feed so it cannot be intercepted or tampered with and a CLI so that one operator could potentially run Freeseer in multiple rooms simultaneously and reduce labor costs.
4) Additional goals we're working on include fancier formats for the video such as adding picture-in-picture support for dual video sources, side by side video, support for an automatic timer based switch between multiple video sources, watermarks/headers/logos, and more.
For Google Summer of Code, our students are working on projects that enable the above goals. Felipe Vieira Falcão is working on adding a shell/command line interface for Freeseer. This enables scheduling, automation, and remote operators. Mathieu Hubbard is working on video uploading capabilities which will make uploading videos automatic after they are recorded and making manual upload much easier.
By Andrew Ross, Freeseer Orginization Administrator
These are just a few of the new organizations participating in the Google Summer of Code this year. We will highlight more organizations next Friday, stay tuned! You can see a complete list of the 175 organizations participating in the Google Summer of Code on our program site.
By Stephanie Taylor, Open Source Programs