
Yehuda Katz and Steve Klabnik Are Joining the Rust Core Team - wycats
http://blog.rust-lang.org/2014/12/12/Core-Team.html
======
tomdale
Congratulations Yehuda and Steve!

We've been using Rust in production for awhile now, specifically because of
its combo of native speed and memory safety[1]. This bending of traditional
tradeoffs has let us implement features that would have been otherwise
impossible.

Interfacing with Ruby via its C APIs, we are able to do some pretty crazy
stuff, like sample memory allocations in production with imperceptible
overhead[2]. Most importantly, we can do it without fear of segfaulting our
customers' servers.

It's really great to see people other than low-level bitbangers being added to
the core team. In this case, having a production user and someone focused on
new users demonstrates the Rust team's commitment to building a functionally
diverse community.

Lastly, I think opening up the core team to a wide coalition of companies is
the right way to build a robust, long-lived open source project. Yehuda talked
a little bit about this in his Indie OSS talk[2]. There are several
"pathogens" that can affect open source projects, and the more diverse the
distribution of power, the more likely you are to be immune to these
pathogens.

1: [http://blog.skylight.io/bending-the-curve-writing-safe-
fast-...](http://blog.skylight.io/bending-the-curve-writing-safe-fast-native-
gems-with-rust/)

2: [http://blog.skylight.io/announcing-memory-
traces/](http://blog.skylight.io/announcing-memory-traces/)

3:
[https://www.youtube.com/watch?v=YqXU4o24Hkg](https://www.youtube.com/watch?v=YqXU4o24Hkg)

~~~
bojo
Could you define "low-level bitbangers"? It sounds kind of derogatory, but
maybe I am reading it wrong.

~~~
ANTSANTS
It's a sort of nickname derived from a technique for communication on very
cheap microcontrollers.

[https://en.wikipedia.org/wiki/Bit-banging](https://en.wikipedia.org/wiki/Bit-
banging)

------
nardi
Thus continues Yehuda's quest to join every cool core team on the Internet. :)
See also: Rails, Bundler, Ember.js, jQuery, W3C TAG, TC39.

~~~
adamnemecek
Yeah, I wonder how he manages to juggle all of that. What's your secret
wycats? (I'm not really expecting there to be a single secret).

~~~
wycats
For what it's worth, a big part of this is slowly winding down earlier
commitments over time. I joined TAG a couple years ago, and decided not to run
again this year because I had largely achieved my original goals of changing
the composition and mission of the TAG, and others can carry the torch
forward. I also retired from the Rails team this year after a somewhat-long
period of inactivity (from day-to-day decisionmaking) for similar reasons.

The closest I can get to a single "secret" is aggressively delegating. What I
mean by this is delegating before you feel comfortable delegating. The only
way I know of to get everything done that I want to get done is to set the
vision for something, do some initial implementation work, and find people who
share the vision to help as early as possible. The primary reason I end up
working on so many things is that things are way more connected than you might
expect, and the full picture of something like Ember involves both day-to-day
work on Ember and advocacy around a whole host of related technologies. I'm
very grateful for the number of groups that have welcomed my participation.

I got involved in Rust largely because it was the shortest path to a low-
overhead, non-crashy agent for Skylight, even counting the work we had to do
to keep up with ongoing development over the past year. When getting involved
in a technology so early, I tend to get really invested, and try to find holes
that I know how to fill and fill them. That's what happened with Cargo and a
whole bunch of other areas in Rust.

~~~
674266966223478
How would you respond to those who see you merely as somebody who just hops on
the bandwagon, so to speak, quite frequently?

Whether this perception is right or wrong, there are a number of prominent
individuals within the open source community who are widely seen as rapidly
jumping between trendy or hyped projects as they arise, to benefit from the
exposure that this involvement can bring.

I'm not passing any judgment, mind you. I personally don't care which projects
you choose to get involved with. However, I do know that other people have
noticed certain trends around how certain open source developers move among
projects, and this does negatively affect the impressions these people have of
these open source developers and the projects they get involved with.

~~~
wycats
To be blunt, I would not have picked Ember, Handlebars, TAG or TC39 due to
their "hype factor".

In the cases of TAG and TC39, I saw an opportunity to take low-hype, low-
bandwagon organizations and revitalize their missions and purpose. In
particular, bringing on web developers as active participants and the follow-
on effects of having them join GitHub and modern practices (slowly), helped
increase their profile and stature. In both cases, I hardly did most of the
work, but I did spend a lot of time articulating a vision for these
organizations as ones that could be far more effective by involving more
practitioners. I think it has worked.

In the cases of Ember and Handlebars, I saw something missing in the ecosystem
and built my own tools. In both cases, the tools were hardly instant-winners,
and I had to spend a ton of time recruiting fellow-minded collaborators who
shared a vision for the future. If I was in it for the bandwagon-hopping, I
would have tried to join Mustache or Angular, and not spend years to build up
my own, relatively small-in-comparison ecosystems.

My _real_ MO is to try to envision a better future for something related to
the web or my product, and then either find existing projects that already
share a part of that vision or create them if they do not. My involvement in
many different projects is because of the fact that big-picture ideas involve
improvements to multiple technologies.

~~~
artsyca
high five bro!

------
losvedir
Congrats! I actually didn't know they weren't already part of the core team.
What exactly does this change entail, then?

The rust community is lucky to have these two. I recently went through the
rust guide and it's terrific! And as a happy rubygems user, I'm glad to see
crates following a similar path.

~~~
steveklabnik
Thanks! (especially re: the guide, which is my baby)

> What exactly does this change entail, then?

The core team is listed at [https://github.com/rust-lang/rust/wiki/Note-core-
team](https://github.com/rust-lang/rust/wiki/Note-core-team) . Basically, like
most projects, it just adds weight to our opinions in decisions that are made,
and that we're sure to be involved in making those decisions. In general, we
try to get rough consensus for major decisions from the team + community.

~~~
baq
steve, does that mean there's a chance you'll get a contract extension to keep
working on rust, assuming you'd like to?

~~~
steveklabnik
I don't want to talk too much about these details yet, but rest assured that I
will be quite heavily involved in Rust regardless of what shakes out. :)

------
juanmnl
Congrats Yehuda! You are a true inspiration, and i just want to thank you for
everything you've done and i'm shure you'll take rust to another level.
Congrats to Steve too. 2015, the year of rust(?) :P

------
zampano
Congratulations! The two of you easily became two of my biggest role models
after I was introduced to web development; its been a pleasure to follow your
general trajectories. Thanks for showing us what is possible when you're
willing to actually do something!

~~~
steveklabnik
<3

------
sergiotapia
How will this affect Yehuda's involvement with Ember? I'm kinda scared he will
jump ship and leave it in the air. :/

~~~
wycats
Most definitely not. Ember (and its ecosystem) and Rust are the two open
source projects that are currently consuming most of my time. I have easily
spent as much time on the planning for Ember 2.0, HTMLBars, and Service Side
Rendering as I have on Cargo and Rust over the past six months or so.

Also, both Ember and Rust are critical for my business (Skylight), and keeping
them both strong and effective are key to my business interests ;)

~~~
sergiotapia
Thank you sincerely, Ember has been amazing and it's great to hear you don't
plan to drop it.

------
yesimahuman
Nice! As a reluctant Go developer, I look at rust with envy and excitement. I
am very eager to see this project progress and it seems like they've got some
great people on it.

~~~
getsat
I share your envy and excitement.

I'm looking forward to dumping Go in favor of Rust once it's competitive in
terms of libraries/stdlib. I've been building some big stuff in Go recently
(mostly around financial market simulation) and the language shortcomings have
hurt a lot. I've been using Go since January 2013 as my primary language, but
everything I've seen of and tried with Rust is amazing.

~~~
Kiro
What are the shortcomings?

~~~
Ygg2
From what I gather, lack of user defined generics is primary reason, followed
by the loose typing in interfaces.

I'm not an expert in Go, so feel free to correct me there. Additionally, IIRC
Rust wanted to take the same route like GO regarding interfaces and generics,
but Niko made an argument that it is wrong turn to make.

~~~
kibwen

      > IIRC Rust wanted to take the same route like GO 
      > regarding interfaces and generics, but Niko made an 
      > argument that it is wrong turn to make.
    

This is a mistaken conception, as Rust has had something approximating
generics since the very beginning (though they have changed drastically since
the outset), and traits have always been explicit rather than implicit (and it
was pcwalton who initially conceived traits, not nmatsakis (and traits as well
have changed drastically since their inception (the bottom line is that pretty
much everything about Rust has changed drastically since its inception))).

------
grandalf
Anyone care to mention the best reasons to start using/learning Rust? There
must be a lot with these guys joining the team.

~~~
wycats
I replied to this a bit on the other HN thread on this topic:
[https://news.ycombinator.com/item?id=8741987](https://news.ycombinator.com/item?id=8741987)

TL;DR embedding small libraries with high-performance or low-memory
requirements into programs written in high-level languages.

~~~
bsaul
Since you know a lot about web frameworks : do you see rust becoming a good
language for building a modern web framework anytime soon ?

~~~
wycats
One of the nice things about Rust is that it provides a lot of high-level
abstraction capability in a way that doesn't impose any cost on the
abstraction.

This means that, in theory, one could make a pretty good web framework in Rust
that would be both quite fast and ergonomic. That said, writing those
abstractions will take time, so we'll probably see lower-level HTTP libraries,
followed by Express-style abstractions, followed further on by full-stack
solutions like Rails.

The earlier parts of the stack are coming along quite well, so give it a few
years and I think we'll have a pretty good story to tell. In the meantime, you
can use Rust today very effectively as a language that you embed inside a
high-level language, and I think a sizable chunk of the Rust community will
use Rust for those kinds of embedding use-cases in perpetuity.

------
pjmlp
Congratulations!

------
paulmalenke
Congratulations to both of you!

------
deadprogram
Very exciting!

