--- author: '' category: '' date: 2013/09/11 18:41:22 description: '' link: '' priority: '' slug: being-an-inclusive-project-and-how-github-saved-my-day tags: python, nikola title: Being an Inclusive Project (and how GitHub saved my day) type: text updated: 2013/09/11 18:41:22 url_type: '' --- I have posted over 50 posts here about `Nikola `_ and most of them contain something like "Nikola, my static blog/site generator". Well, that's not the case anymore. From now on I will say "**a** static blog/site generator". Why? Let's see. For starters, it's no longer true that I wrote it. Although I am still pushing more code that anyone, there are **54** other contributors. That number is astonishing. Why? Because I estimate there are around 200 Nikola users. That means the ratio of contributors to users is incredibly high. That is probably explained because the way you build a site using Nikola is very programmer oriented. You could describe a static site generator as a sort of "site compiler" and not be far off the mark. Many of the benefits, like *you can host your page sources in github!* are completely misterious to non-programmers. So, I expected that number to be high, but, having a 25% user=>developer conversion rate? That's **bizarre**. So, I suspect I did some things well with this project [1]_, and wanted to think them out loud, and try to further them. One thing I think I did well was that it's an inclusive project. If you propose something you are getting heard and I am giving the proposal a fair shake. I may reject it, but not out of hand, but instead after some thought. And if I am unsure, it's accepted. I would rather get something I am not fond of than drive out a contributor [2]_ because I may change my mind, but a contributor that's gone is not coming back. Same thing about granting commit rights: want them? You get them with the first successful PR by just asking. .. sidebar:: GitHub saved my day indeed I accidentally deleted the nikola repo. All 693 issues, all 2510 commits, all 25 releases. I could have recovered most of it from my clone and emails, but GitHub revived it, and saved me from my stupidity. And let me be clear: if you show me proof you work at GitHub you get a free beverage of your choice [4]_ anytime you meet me. You get a hug and a kiss in the cheek. [5]_ I may name my next son Github Alsina [6]_ In any case: you guys rock and get my heartfelt endorsement forever (as well as a paid plan even though I don't need it) Today there was another step on this direction: I am not the sole admin anymore. No longer is https://github.com/ralsina/nikola the canonical repo, it's now https://github.com/getnikola/nikola. The website? Not http://nikola.ralsina.me but http://getnikola.com, paid for 5 years. Added two admins to everything (the awesome `damianavila `_ and `Kwpolska `_). Gave up sole control of a `loooong list of things `_ [3]_ and now I can get run over by a bus and things should not bitrot. It protects those 54 other contributors and few hundred users from my ever losing heart or interest, which is a real risk, and should be alleviated. I think the most important bit about converting users into contributors though, is that you just need to be friendly. And Nikola is largely a friendly project. And that's made it a lot of fun for the past year or so. I once read that if you refused to use code written by assholes you could not boot any OS. Well, that may be true, but that doesn't mean being an asshole is OK. This is a small project that does a small thing. But at least I feel confident it's not written by assholes. And that's a victory in itself. OTOH there are some major defficiencies still. Diversity is good in some areas (geographically, for instance) but AFAIK the percentage of women contributing to the codebase is 0% and I have no idea why, and I would love to improve that. So, lots of work done, lots more to do. That's a good position to be in, I think. ------ .. [1] Alternative explanation: I did some things so badly I have driven out 99% of the user base. .. [2] Within reason. .. [3] Github's checklists on Issues are great .. [4] Within reason. .. [5] Optional. .. [6] Not really.