Google Summer of Code (#gsoc) is a great program where Google funds students from around the world to contribute to open source projects for the summer. We've been part of the program for most of the past five years, and some of PublicLab.org's best features have come out of students' hard work -- like the Q&A feature! -- as well as projects like MapKnitter 2.0, #WebJack, and more.
Project announcements today!
Today's a special day because the announcement just went out on the Google Summer of Code lists with the accepted student projects. I'll update here once they've all been received by students (no spoilers!) but we're geared up for a great summer of improving the collaborative systems we use to work together more openly and effectively. Read about last year's excellent projects here, and about this year's proposals here.
Please note that although students will be writing software, the mentor role does not require coding experience. I've bolded those roles below that we're specifically looking for non-coders to help with, and there will be mentors available with coding and software knowledge too.
If you're interested in being a mentor, please get in touch -- either in the comments here, or by emailing email@example.com. You can also ask questions and find out more in our chatroom at https://publiclab.org/chat.
What is mentoring like? Well, we need different kinds of folks -- and we'd love your help...
if you have ~20 minutes per week to check in on and take a quick look over students' weekly submissions (we'll have a checklist to guide you)
if you have a few minutes every day or so to respond to issues that come up -- help students find resources or get connected to people they need help from
if you're good at "untangling" tough troubleshooting issues that come up from time to time
if you're interested in providing feedback on and "trying out" new features students have made (no coding experience needed)
What are you interested in helping with?
What we'd like to do is to ask each mentor to share a few things they're good at, and available for -- for example (again, bold means no coding experience necessary):
do you have some design or interface skills?
are you good at holistic systems-level planning?
are you a "people person" who's great at checking in on and cultivating our community?
do you like chasing down tough bugs?
do you know Public Lab's site and community work well enough to help provide feedback and input on new features?
are you good at "breaking down problems" into smaller, easier, self-contained parts?
I want to especially thank students who submitted proposals and contributed to our software already, but who we were not able to accept this year. Public Lab's Web Working Group is pretty small and we have only so much capacity to support students, but we hope you'll consider working with us again!
Finally, thanks and congratulations to the students who've been accepted this year.
This summer's proposals
Now that the announcements have gone out -- our projects this summer will be:
We're going to be doing things "more socially" this summer -- really asking each student to reach out and engage with new contributors through their work. Think about how you might be able to find smaller projects in your work that could invite others in!
Just a quick introduction of myself to the teams here.
I am a professional software developer who's been working primarily in the "integration" space. For the most part, this means that I take whatever system(s) a business has on hand or is buying and try to make them do things they weren't designed to do. :-) Even if it's not the most glamorous work in the world, you get to spend a lot of time working with the deep underbelly of business requirements and technology to get things done. Be it personnel records, search systems, chat, or UI and config systems, it's the kind of work that forces developers to either specialize very narrowly or try to get very good at being an all-around handyman.
For GSoC 2017, I'm going to be helping out with the Email Notification and Wiki Discussion projects. I'm also going to try to fill in some of the gaps on the RESTful API services, in order to get things up to speed for some of the other projects. As GSoC moves along, I'll try to keep up with how everything is going; if anyone or any project needs a RESTful service or needs one adjusted, just let me know and I'll try to help out.
I'm really looking forward to working with everyone. Feel free to get in touch with me any time.
Reply to this comment...
Here's a quick note to students and fellow mentors to introduce myself.
I am the PublicLab.Org systems administrator, whose responsibility is to keep all of your projects running reliably, safely and with good performance!
I am a person with broad interests. I learned programming as a child and since then never lost the wonder to learn technologies. That is why it's a personal mission of mine to help spread libre technologies to empower people to do good.
I've been active with plots2 development mostly in the periphery, at the place of integration and deployment of containers, as well as testing and deployment pipeline. I am good with web technologies and systems work. While Ruby isn't my main language of expertise (if you're curious, it's Python), I'm starting to like it!
I'm always glad to be of service and looking forward to be in touch with the students and aware of the different project's advance!
Reply to this comment...
Hi all ! My name is Ananya Maiti and I have been a GSoC 2016 student with PublicLab. Since then I have been in close touch with the community. I have worked on the plots2 repo and so I am well aware of its codebase and functionalities. Be it any problem regarding plots2 or understanding Ruby, I can help you to figure out the solution. You can also discuss any architectural or design related issues with me or general GSoC related queries and I will be happy to give you feedback on it.
I love working on software projects and Open source and learning along with fellow contributors. I believe Open source is the platform to freely learn software so don't be hesitant to ask out anytime you are stuck somewhere.
One aim of our community is to make it easier for first timers to contribute to Open Source and so we take time to make first-timers-only issues and help those who are taking up those issues. So in the course of GSoC we will try to develop this further and help out any newcomers who find our projects.
For GSoC 2017 I am mentoring for the Bot Project and will also help out with any issues related to plots2. You can find me at github with @ananyo2012 username and I will be the active in the publiclab chat channel so you can contact me anytime you want. Looking forward to work with you all this summer!
Reply to this comment...
Hello! Here to introduce myself, my name is Stevie Lewis and I'm really excited for this year (HI new students!!!) For a bit about me: I enjoy working with Public Lab from the community development side. I'm not a coder, but here to help in some other ways:
I'm a "people person" and can help out there for sure!
I know Public Lab's site and community work well and happy to provide feedback related to it.
I can also assist with design input - loosely! as in, not a great skill of mine, but here if you need to run anything by someone.
This is my third year working with GSoC and I've seen some amazing projects come out of it from some pretty awesome people. Really looking forward to getting to know everyone this year, and seeing some of these cool projects come online! Don't hesitate to reach out!
Reply to this comment...
Hi, @stella@david-days and @ujitha, and really anyone interested in email notifications -- i found a couple smaller projects which would require a job scheduler like ActionJob, but are more limited in scope. I think they could be a good starting project to try things out and get comfortable with the systems, before taking on the rest of the summer's work. Can you take a look at these two issues, and in particular this comment?
Note that I've also created a milestone for this project, and that's something I think is a good idea for all projects -- to help you track completion, and be sure your planning process is visible through issues you create on GitHub.
Hi, folks - one more update -- I worked through the plan for the Map project, from Mridul's proposal, and put together a checklist-style plan in a github issue, with "phases" and really breaking things down into distinct steps as much as possible:
I'd like to ask each of you to do this in your respective projects, too -- it's a really great way to visualize your progress over the course of the summer, and a good first step to developing a Milestone. Can each student start copying their tasks into a Github issue, and link to them from here? Thank you!!!
Hi folks, to keep this community bonding period going I propose we all get on a video call! Over in Gitter, we've been working on a proposed time of Tuesday May 23 at 10A NYC+Boston time / 7P India+Sri Lanka time.
Hi guys, if you know Apache works well and meets your needs, it's fine with me! What does it take to use it? Can you send us all a link to join a call, or do we have to individually install something on our computers? If someone wants to take the lead on this in the next half hour, please do, otherwise we'll use the zoom link that (I think) I already sent out.
I'm glad to see many of you have already started coding. I'd like to ask you all to think about getting a small project done I your first week (just the smallest first piece of your work plan checklist) so that you can have the satisfaction of seeing it published to production quickly. This applies to some of your more than others, but even if you're not coding directly in a place that'll go into production immediately (like @ccpandhare) just think of a piece that'll do something discrete that you can assess at the end of the week.
I'll do my best to respond to questions and requests for input tomorrow, but also reach out to mentors and to each other to help decide things and keep moving.
Super! I'd like to as you to start to think about documenting your plan (adding more detail) not only for yourself and me, but for other people you could recruit to contribute.
Can you continue fleshing out links to relevant code and documentation in your checklist, trying to think about how it looks to a newcomer?
I've started to work with @Ashan to do this for his checklist. For example, where there is a reference to extraButtons, a feature of the inline-markdown-editor, we now link to the corresponding docs in https://github.com/publiclab/inline-markdown-editor/. For a section about a form for comments, we actually link to that code on GitHub so not only he and I can see where the change will have to be made, but it could easily be split out into an issue for someone else -- who doesn't have as much familiarity with the code -- to solve.
Try to add this level of detail to your plan, and reach out to me and your mentors to find exactly where the code lives if you can't find it yourself! We're happy to help :-)
Oops, i sent this before finishing it up! Too many tabs open, i guess, got distracted. @ccpandhare, can you post a checklist as outlined above a bit? I see you've done plenty of planning, I'd just like to see the final URL where it's all organized in a checklist on GH. Much appreciated!