Diaspora at RailsGirls Summer of Code

As proposed in the mailing list, I move the subject here to loom.io

You guys might know the RailsGirls initiative, which aims to teach girls Ruby and Rails.
Well, RailsGirls is starting a new project called RailsGirls Summer of Code, which aims to bring the students into open source projects.

We are looking for open source projects (something with Ruby and Rails), a mentor per project (who really knows his/ her way around the project/ code base) and a coach who helps the student with this goals. It is compareable to Google Summer of Code, but with beginners instead.
If my description is a little too confusing, check out our website http://bit.ly/rgsoc) and the projects list on github (https://github.com/RailsGirlsBerlin/summer-of-code/wiki/Project-ideas).
Just to drop some names of projects that will work with us: Sinatra, Rubinius and still to be confirmed Rails and Puma. But we just started, so bear with us :wink:
The schedule is flexible but the “summer” would be from July to September, 3 months during which the students will get paid. Student application will open some time in May.

Anyway, one of the initiators approached me concerning Diaspora. It would be cool to have Diaspora listed on the projects page, especially because its concept is easily grasped (social network vs Ruby implementation, if you know what I mean ;)) and suited for a beginner with some help from the coach.
Plus, it could bring some attention to Diaspora itself :smiley:

If you think if Diaspora is suited and if you have someone in mind as a mentor or maybe a coach, you can apply via the forms on the website (http://bit.ly/rgsoc).
As for possible goals, Raven already proposed the following:

  • (REST) API

  • separation of federation into a layer

  • “seed migration” - moving your account to another server

  • more useful admin backend

  • writing/updating documentation

  • making how-to videos

Note: This discussion was imported from Loomio. Click here to view the original discussion.

Great idea, i’m all in!

This sounds like a fantastic initiative to me, and I’m delighted that you want to work on Diaspora as part of the project. I’m afraid I am a complete dunce when it comes to code so I can’t help you get this off the ground, but I’d love to support it in any way I can (more on the documentation side, I imagine).

Oh wow, this would be really neat!

While I do think that these are all really interesting proposals for things to do, I feel that the codebase is a bit complex to introduce to beginning coders. Things like working on the federation layer and seed migration are wonderful things to work on, but I imagine they’ll be relatively complex pieces to put together.

I think a resource that would be of great use to you would be @jasonrobinson , who runs an Eliademy course on developing for Diaspora. I think there’s a lot to be learned behind the fundamentals of how project members work together, and how our project delegates decisions and functions.

I’m sure there might also be a few devs here who wouldn’t mind getting some helping hands, so maybe we could come up of a list of things to hack on that wouldn’t be too hard for newcomers, but would be something we could really use. :slight_smile:

Great! So I think it would be easiest to set up a list with hacks as @seantilleycommunit mentioned. Some easy and helpful tasks that I can forward to the RG Summer of Code Project list.

It might be worth also looking at the list of issues in Github marked as suitable for newcomers: https://github.com/diaspora/diaspora/issues?labels=newcomer&page=1&state=open

As Sean says, best to co-ordinate with the existing devs such as @jonnehass and @florianstaudacher who are involved in managing the development at the moment.

Bes wishes, and hope you and your students are able to find a way to contribute to the project.

I’d be more than happy to help put together a good list for beginners, too. :slight_smile:

Awesome initiative - would be great to have Diaspora* listed there. So has anyone added Diaspora* already or should we first agree on ground rules how to do the mentoring?

I can go through with the person the material I have made for the Eliademy course, maybe she could just enrol to the course and can have a few chat sessions to discuss things. I’ll be exporting the material so far soon, Eliademy unfortunately is not designed to allow anonymous access to course content, but I will export stuff as we go.

Who would be the actual code mentors? Or can we just give a list of X people and X resources (IRC, etc)? One named main person would be best I think for the individual.

And as for tasks, definitely nothing as complex as federation etc. We already have newcomer tasks to start from and then maybe one bigger task like post editing, featured posts, photo albums, etc. Something interesting enough for the person to be occupied. Fixing small issues the whole time is not fun :slight_smile:

Great suggestions @jasonrobinson!

Federation is maybe a little too advanced, but photo albums and featured posts would work fine. Just like writing documentation or guides or how to videos.

Just to clarify some things. There is one mentor per project to organize the tasks. The (multiple) coaches will each be assigned to a student who (ideally) lives near the coach so they can meet in person.

I’d like to name a mentor and a few coaches and goals by the end of the week. Is that doable?

If we get a volunteer mentor and coaches - hands up people? Unfortunately myself I cannot guarantee the time required :frowning:

As for actual goals, we could list some tasks here and pick a few. This pretty much lists the features requested: https://github.com/diaspora/diaspora/issues?labels=feature&page=1&state=open

Some (IMHO) good ones:

But yeah lots to choose from.

I guess I should know enough about most of the code to do some mentoring :wink:

I’m afraid I can’t help as I’m a technical dunce.

Lisa, could you give some idea of the expected workload and commitments required from a mentor and coach, so that people will know what will be required of them and can decide whether it’s something they can take on?

I’ve just noticed that your introduction says that ‘the “summer” would be from July to September, 3 months during which the students will get paid’. Does this mean that the project (in this case Diaspora) would be expected to pay the students? Because I don’t think we’d be in a position to do that, as the project doesn’t have funds for this nor the sort of structure in place to get and allocate such funds.

Hope that’s not the case, as it would be great if your students can help develop the project.

hey all, sry for (again) the late reaction. In the last meeting we refined the student selection process and some changes have been made.

Now the students have to find their coaches as part of their application. We will probably provide a pool of interested coaches with names and locations. so i’ll just add the tasks to our project ideas.

@goob the mentor has the function of supervising the progression of the tasks and answer some of the question that come up during the development. So a few hours a month.
The coach should always be reachable and provide the the student with help. We estimate around 1 to 2 hours a day. So the coach should really have the time to, well, coach the student.
The student is expected to work full time on her tasks and that’s why we (or better our sponsors) are paying them (1500 USD/ month).

@jasonrobinson good list! i’ll add them to our internal list.

@lisap I would gladly me on the list of coaches but unfortunately lack serious understanding of the code. So probably it should be the veteran coders first and if they don’t want to take responsibility for the student, then one of us others.

Thanks for doing this :slight_smile:

@lisap I could be a coach. I’ll be in New York City this summer.

Hey everyone! Good news, Rails Girls Summer of Code will sponsor a team of two to work for three months full time on Diaspora!
They already have coach to support them in Mumbai, all we need now is to name a mentor who can assist. @florianstaudacher are you still in? Or maybe someone else?

This is great news! I hope you have good success.

sounds great. I’d be available, unless someone in a more convenient timezone wants to give it a shot :wink:
(I’m GMT+1)

@raphaelsofaer also offered - perhaps you could share it? He’ll be in GMT-5.

More mentors, more fun :wink: Anyway thanks for your help. The students will (propably) contact you soon!