Skip to main content

Ralsina.Me — Roberto Alsina's website

Being an Inclusive Project (and how GitHub saved my day)

I have post­ed over 50 posts here about Niko­la and most of them con­tain some­thing like "Niko­la, my stat­ic blog/site gen­er­a­tor". Well, that's not the case any­more. From now on I will say "a stat­ic blog/site gen­er­a­tor". Why? Let's see.

For starter­s, it's no longer true that I wrote it. Al­though I am still push­ing more code that any­one, there are 54 oth­er con­trib­u­tors. That num­ber is as­ton­ish­ing. Why? Be­cause I es­ti­mate there are around 200 Niko­la user­s. That means the ra­tio of con­trib­u­tors to users is in­cred­i­bly high.

That is prob­a­bly ex­plained be­cause the way you build a site us­ing Niko­la is very pro­gram­mer ori­ent­ed. You could de­scribe a stat­ic site gen­er­a­tor as a sort of "site com­pil­er" and not be far off the mark. Many of the ben­e­fit­s, like you can host your page sources in github! are com­plete­ly mis­te­ri­ous to non-pro­gram­mer­s. So, I ex­pect­ed that num­ber to be high, but, hav­ing a 25% user=>de­vel­op­er con­ver­sion rate? That's bizarre.

So, I sus­pect I did some things well with this project 1, and want­ed to think them out loud, and try to fur­ther them.

One thing I think I did well was that it's an in­clu­sive projec­t. If you pro­pose some­thing you are get­ting heard and I am giv­ing the pro­pos­al a fair shake. I may re­ject it, but not out of hand, but in­stead af­ter some thought. And if I am un­sure, it's ac­cept­ed. I would rather get some­thing I am not fond of than drive out a con­trib­u­tor 2 be­cause I may change my mind, but a con­trib­u­tor that's gone is not com­ing back.

Same thing about grant­ing com­mit right­s: want them? You get them with the first suc­cess­ful PR by just ask­ing.

To­day there was an­oth­er step on this di­rec­tion: I am not the sole ad­min any­more. No longer is http­s://github.­com/ralsi­na/niko­la the canon­i­cal re­po, it's now http­s://github.­com/get­niko­la/niko­la. The web­site? Not http://niko­la.ralsi­na.me but http://get­niko­la.­com, paid for 5 years. Added two ad­mins to ev­ery­thing (the awe­some dami­anav­i­la and Kw­pol­s­ka). Gave up sole con­trol of a loooong list of things 3 and now I can get run over by a bus and things should not bi­trot.

It pro­tects those 54 oth­er con­trib­u­tors and few hun­dred users from my ev­er los­ing heart or in­ter­est, which is a re­al risk, and should be al­le­vi­at­ed.

I think the most im­por­tant bit about con­vert­ing users in­to con­trib­u­tors though, is that you just need to be friend­ly. And Niko­la is large­ly a friend­ly projec­t. And that's made it a lot of fun for the past year or so.

I once read that if you re­fused to use code writ­ten by ass­holes you could not boot any OS. Well, that may be true, but that does­n't mean be­ing an ass­hole is OK. This is a small project that does a small thing. But at least I feel con­fi­dent it's not writ­ten by ass­holes. And that's a vic­to­ry in it­self.

OTOH there are some ma­jor def­fi­cien­cies stil­l. Di­ver­si­ty is good in some ar­eas (geo­graph­i­cal­ly, for in­stance) but AFAIK the per­cent­age of wom­en con­tribut­ing to the code­base is 0% and I have no idea why, and I would love to im­prove that.

So, lots of work done, lots more to do. That's a good po­si­tion to be in, I think.


1

Al­ter­na­tive ex­pla­na­tion: I did some things so bad­ly I have driv­en out 99% of the us­er base.

2

With­in rea­son.

3

Github's check­lists on Is­sues are great

4

With­in rea­son.

5

Op­tion­al.

6

Not re­al­ly.

Martín Gaitán / 2013-09-11 23:34:

Github Alsina, ja!

btw, congrats for the move.

Roberto Alsina / 2013-09-12 00:44:

Bueno, capaz que de segundo nombre.

damianavila82 / 2013-09-11 23:56:

Roberto, thanks for all your work doing this transition... and thanks for ALL your work with the project.

You have built a very welcoming environment (not only to contribute), and as a consequence, you had got a lot of people interested and willing to make Nikola even better!

As a personal note... thanks for you confidence, I promise I will make my best if a bus hits you ;-) (I will also do my best whereas you are alive, he he)

Abrazo.
Damián

Roberto Alsina / 2013-09-12 00:44:

I'll try to look both ways before crossing busy streets :-)

ddevine / 2013-09-12 03:23:

You've done a great job on inclusion. I can tell that every one of my (questionable) feature requests gets a proper response.

I think some of the reason the contributor ratio is so high is because Nikola needs tweaking (or fixing) when you want too do anything but a basic blog - don't take this negatively because it actually means that people think Nikola is worth their time to contribute to. There are alternatives out there that they could use, but they don't want those!

As for female contributors, perhaps Nikola is just not big enough to have encountered female hackers yet. I haven't seen anything that should discourage them, only the opposite.

Congratulations on the transition!

Roberto Alsina / 2013-09-12 04:18:

Indeed making Nikola need less tweaking is a good priority to have.

I think it is better than it used to be and I have a few ideas like, pre-filled profiles in "nikola init" so you can start, say, a not-blog easily without tweaking configs first. Don't worry about feature requests, if I just implemented the things I needed I would have stopped in version 2 ;-)

humitos / 2013-09-12 14:46:

Awesome! I really like Nikola, I feel comfortable with it and that's why I migrated mi blog from wordpress.com to Nikola. I tried once some time ago and the "import_wordpress" didn't exists. So, I asked you at #pyar and you say: "You can do it, if you want" and I say: "Sorry, I'm lazy and I don't want to start writing that now". Some days after that, you said: "Hey, man, I wrote something that you could try and let me know". I tried it, and it had some problems but you accepted my .xml with all of my posts, improved the script and tried again...

About a year after that, I said: "I'm going to take a look at Nikola again and I'll see how much it has improved" and... Man! It's awesome! I found just two stupid bugs (at least for me) that I could fix with a quick look at the "import_wordpress" code. Now, I'm a happy man blogging as much as I can again...

I had a similar experience with rst2pdf about a year ago also, I reported some bugs you worked on them for me (?)... and FOR FREE! :D . I really like the way that you start projects and listen to the people that want some change in your milestones. I really like your code and... I really like the way that you laught with your child inmediately after he start crying... That marked my life forever...

Hugs from here,

Roberto Alsina / 2013-09-12 14:53:

To be totally honest, @okin wrote most of the wordpress importer after I did that proof of concept :-)

Thanks for the kind words, too.

Juan Rodríguez Monti / 2013-09-12 16:33:

Awesome!. Congrats for this move, Roberto!. Nikola is amazing.

Roberto Alsina / 2013-09-12 18:32:

Grazie!

Kay Hayen / 2013-09-17 13:28:

As user #7 my record here: I knew your name already, you had the right reputation to be somebody to want to work with. And then ReST all the way, rst2pdf is an awesome work of yours. Nikola was about using ReST for even more stuff, about integrating documentation and website in almost perfect way.

And your design for Nikola was pretty sound, or mostly, and where it was not, you aggressively took on the challenges imposed. And you have a lot of passion for it obviously.

Right now, I totally have a backlog to even look at the amount of new stuff that interests me, and that got added to Nikola. It's amazing. I definitely will submit a presentation about it.

To me Nikola is Python at its best.

Roberto Alsina / 2013-09-18 21:29:

Thanks for the kind words. Without you nagging me everytime I broke it, Nikola would not be what it is today ;-)