-
Notifications
You must be signed in to change notification settings - Fork 80
Google Summer of Code 2018 Application
- Why does your org want to participate in Google Summer of Code? (1000 char)
Our organization consists mostly of working scientists and engineers, who — as with nearly anyone who contributes to open source software — are often more focused on their own research projects' short-term needs than on contributing to scientific computing infrastructure. Scientists tend to write one-off code for their research — code which will never, or can never, be used for any other project. SciRuby's existence facilitates contributions to the common infrastructure by those who have the interest; as with any community, it creates opportunities for collaborations.
Google Summer of Code acts as a catalyst for both student and non-student contributors. By seeking out "sometimes" contributors and convincing them to commit to mentoring, we transform our sometimes contributors into regular contributors. Most mentors and students stick around between summers. Interestingly, many of our potential mentors this year, including the GSOC admin, have been students with SciRuby previously.
- How many potential mentors have agreed to mentor this year?
5-8
- How will you keep mentors engaged with their students? (1000 char)
Our plan has always been to ensure that we have more than one mentor lined up for each project. We expect our mentors to provide a minimum level of investment — such as providing a write-up for an idea that individual can mentor on our ideas page — and those who do not provide that investment are not assigned as primary mentors for students (they may participate in backup mentoring roles). We would rather accept fewer students than assign students to absentee mentors, and we have given some slots away every year we participated. So far, this strategy has proved successful, and we have never lost a primary mentor.
Historically, our mentors in any given year have either mentored with us in prior years, or have been deeply involved with the projects that they will now be mentoring — a trend that continues in 2018. This year, at least three of our mentors are previous GSOC students who have now chosen to mentor and enhance the projects they had started previously.
- How will you help your students stay on schedule to complete their projects? (1000 char)
Incomplete projects have only once been a problem for us. We have had some cases where there was friction between students and mentors, and have worked successfully to resolve them. In general, we've found that rather than having a short checklist where every item must be met, it is beneficial to expect students to meet most of a slightly longer checklist (coding is a must). Students may thus work independently and don't feel over-managed.
Another problem is with students who incorrectly say they don't have other commitments during GSoC. Instead of general queries about other commitments, we pose specific questions about summer classes, vacations or internships. Asking these questions avoids difficult situations and ensures a level field. More importantly, it keeps us from having to make tough decisions about failing students who may have mistaken the rules due to language barriers; it's fairer to simply not accept a student than to fail one once accepted.
- How will you get your students involved in your community during GSoC? (1000 char)
Google Group and IRC participation and blogging are mandatory for students and mentors. We require that all students submit pull requests (including code, documentation is a bonus), and find that this mandate ensures applicants are fully engaged. We provide many simple issues (https://goo.gl/PkI5eZ) in our trackers, which students may use as starting points. Greater consideration is given to students who participate consistently for months over those who show up closer to the application period, but our primary goal is to gauge whether students can sit and crank out code. Regular blogging is also a requirement.
We encourage Google Group discussions rather than emailing mentors privately. The goal is to eliminate appearances of favoritism and allow students to collaborate on proposals. Accepted students have often gotten some great ideas from discussions with other applicants (https://goo.gl/CTpKRP). Those unwilling to collaborate are generally seen as a poor fit for our community.
- How will you keep students involved with your community after GSoC?
- Has your org been accepted as a mentor org in Google Summer of Code before?
- What year was your project started?
- Where does your source code live?
- Website URL
- Tagline
- Logo
- Primary Open Source License
- Organization Category
- Technology Tags
- Topic Tags
- Ideas List
- Short Description (180 char)
SciRuby's purpose is providing science, numerical, and visualization infrastructure for the Ruby Programming Language. We develop and maintain several libraries for this purpose.
- Long Description (2000 char)
The SciRuby project is oriented towards providing computational research infrastructure for the Ruby Programming Language. SciRuby consists of a fairly large number of gems, including statsample, statsample-glm, statsample-timeseries, distribution, minimization, integration, rubyvis, plotrb, Nyaplot, MDArray, Publisci, Ruby-Band, daru, rubex, rbcuda, and NMatrix.
NMatrix has been awarded grants by the Ruby Association in 2012 and 2015, and has a goal of supplying Ruby with a robust, versatile linear algebra library with support for both dense and sparse matrices. Statsample and its related packages aim to provide Ruby with statistical analysis packages, while daru, nyaplot and gnuplotrb take care of data analysis and visualization. Nyaplot was awarded the Ruby Association Grant in 2014, Rubex and tensorflow.rb received it in 2016 and RbCUDA in 2017.
Working on SciRuby is a chance to get involved at the ground floor on a project which is viewed as critical by many Rubyists, including Ruby's creator, Matz. In fact, all the grants issued by the Ruby Association (which is headed by Matz) in 2016 (and most in 2017) have gone to scientific projects.
Since we are first and foremost a science-related project, we expect successful student projects to lead to publications. Better yet, students might get to see their code go into orbit, or used to save lives in biomedical research.
- Application Instructions
- Proposal Tags
- Chat, Mailing List, or Email