
Hacking Servo for Noobs - ash
https://gist.github.com/paulrouget/2f00941e6e82aeecad23
======
bleakcabal
I have made some small contributions or tried to, to some open source projects
in the past and I must say, Servo has been the most welcoming and most
beginner friendly. The team has clearly made it a priority and it shows.

Personally for me the hardest part has been finding easy issues. While the
Servo team does a great job of creating them, there's a lot of people vying
for them. And then, even harder, progressing from these to bigger harder
issues, which is where I'm still at.

~~~
Cshelton
That is overall what I have found in the Rust community. Everyone is always
helpful and the community is very welcoming. This is good for Rust lang, as by
its self, is not the most noob friendly.

~~~
Manishearth
Nice to hear :)

I'm actually working on making rustc easier to contribute to. It's already not
very hard to work on (you don't need to submit groundbreaking patches to
borrowck for a first bug, plenty of easier things to work on!), but the
framework that helps newcomers ease into contribution needs work.

[https://users.rust-lang.org/t/mentoring-newcomers-to-the-
rus...](https://users.rust-lang.org/t/mentoring-newcomers-to-the-rust-
ecosystem/3088)

(Currently I'm cleaning up the easy issues list and adding hints/pointers to
the questions)

If you have any specific feedback, I'd love to hear it!

------
gchp
This is great!

Something I'd love to see is an overview of what parts of the source tree are
responsible for what. As a new contributor to projects, that's the part I find
takes the longest. Figuring out what modules do the things that I want to work
on.

The guts of servo seems to be the the "components" directory. Is there a place
that gives some information on each of the components in there?

~~~
larsberg
I did some training at our last Mozilla workweek that covered the major areas
of Servo and had some simple exercises to get you started in each of them:

[https://drive.google.com/file/d/0B9-EBhw4XiWEOWFfc0NiUkk5Tjg...](https://drive.google.com/file/d/0B9-EBhw4XiWEOWFfc0NiUkk5Tjg/view?usp=sharing)

Servo has polyrepo style (many separate source repositories), as opposed to
the monorepo style of other browsers. So, it's not just the `components`
directory, but many of the ~140 other Cargo crates
([https://crates.io/](https://crates.io/)) and raw GitHub packages that come
together to form Servo. I have a "deliverable" for Q4 to improve our
documentation situation and explain how it all is put together, though this
gist is an awesome start!

------
metastew
I'm new to this, could someone give me a gist of why Servo is trending?

~~~
tatterdemalion
Servo is a new web browser rendering engine by Mozilla, written in a new
programming language called Rust, which is safe language that runs as fast as
C/C++. Servo is expected to be more performant on modern CPUs than the
rendering engines used by current web browsers. People are excited both by
Servo and by Rust.

