Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Operation Disassemble & Diversify #821
It's become more and more evident to myself, that I have failed to successfully delegate responsibility of DocPad out to other people so that the workload is distributed evenly into easily digestible chunks for all, and to have the chunks we do have, be maintainable by a group of individuals who have the compassion and capacity to do so.
Currently at present, there is just too many big chunks that are all on me, or on our limited maintainers — of which, we've lost two in the past year for burnout reasons as well.
The current order of technical priorities are:
This burnout has been reaching its tipping point for about a year now, with issues ranging from:
For myself personally, the tipping point hit a few weeks ago when presenting DocPad along Keystone at Node Ninjas. When Jed presented the Keystone demo, everyone was in awe, when I presented the DocPad demo, everyone thought it was old news. It was only when I presented the technology inside DocPad (event-emitter-grouped, taskgroup, etc) that people's eyes widened and mouths dropped opened. Which made me feel that I've prioritized wrongly over the past 4 years, and really should have focused on tiny re-usable well-documented tested components from the start.
However, I don't have a time machine, so the next best thing for me to do, is just to assist the community with transitioning DocPad from it's current monolithic core, to a core made up of pieces that anyone can understand, maintain, and use in their own static site generators and build systems — as well as deprecating myself from the projects and communities I create and have created, by building a diverse team that doesn't need me.
Let's call it operation disassemble, with my personal goal of deprecation being operation diversity.
For myself, I will continue to use, need, and require DocPad going forward, as I'm sure all of you will, it remains an amazing piece of work that solves problems in an amazing way and will continue to do so. I will continue to be passionate about the people of the Bevry community and will continue to help all of you to the best of my abilities. Over time, my interests will move onto other projects where I can feel my current abilities can be of more use. I don't want to just be valuable because of the knowledge I have trapped in my brain, but valuable because of the knowledge I can share with others. I view our new project interconnect as a great opportunity for impacting social change, as well as with the new diversification of the bevry community, and will be dedicating all my energy into that, my family, and most importantly, my self for the first time in years. It's time that I can leave the computer, without worrying about a community needing me, that I'm the only one that can fix that bug, or adding that feature, or being there — from now on, it's all about diversifying by building amazing teams that I will know will be able to do a better job than myself, because I know that, DocPad as it is, is the limit of what I could reach with the "I'm the leader" mindset. I now know, through years and projects of mistakes, that building an equal team where we are all leading the project, is far more long-standing than one where everyone depends and counts on you alone.
It takes time to innovate, it takes failures to learn, it takes humility to say I was wrong, and it takes tenacity to try again. Luckily, that's one thing I will always have.
I hope the community will stay strong, and help with this vision of disassembly and diversification. Ideas, suggestions, and feedback are welcome below in the comments. We have something great here, and hope we can make it even greater together. With me no longer leading infront, but at the sides of the community, as it should be, as it will be.
Thank you everyone,
That was the one thing I wasn't expecting, especially before announcing my own deprecation. lol
I'd like to take this opportunity to announce it here, if that's OK with you Ben, I'll announce later in my blog as well, I'd like to announce that my attention is no longer on DocPad.
While I will keep track of some issues and in general know what's happening around docPad, I don't plan on being very involved.
I may still be involved in the documentation, by accepting pull requests, just so that someone doesn't have to worry about that, but no longer going to write the documentation.
The reason being that I've changed my focus in terms of development and my life has changed quitee a bit since I had my trip to Switzerland (about which I'll write in my blog as soon as I can).
It's been great working with everyone and I wish you all good luck. :)
I do hope though, that this isn't going to be a panic of everyone is leaving, it certainly isn't that, we've got an amazing community that is always increasing and getting bigger and better by the day! It's simply a realization that our traditional organizational structure of our projects and community hasn't worked as well as we'd like it to have, and it's time to take things to the next level, and experiment with different structures.
The goals here are ways we've identified that should be able to fix these issues, with operation disassemble to fix the organization issues with our project structure, and operation diversify to fix the organization issues with our community structure.
It's going to be exciting times moving this forward, and I'm looking forward to it, and the possibilities and the next level of achievements it will unlock.
I agree that this is important. I think Docport + MyPlanet we can start to build a base/team that can support DocPad in a robust official way, both professionally and open source.
Do you know any resources/frameworks for modeling a open source core team(s) off hand? I'm also hoping to increase my backend development skills so that I'm more independent and able. Taking some courses at edX, Khan Academy etc... (backend never came natural to me, or so I tell myself. Luckily you can still make a mean website with just some front end skills and DocPad)
If there were only 10 or 29 of you, lol but that's not what were working with. Instead it's a diverse group that I hope we can assemble into a force for docpad and open source continued innovations.
This was communicated well. A little scary for us all probably as we've grown/learned to turn to you but I look forward to this next step of DocPad. Despite the slight scariness, my faith in DocPad waivers not.
@balupton Thank you very much for your contributions to the Node community.
Unfortunately, I burned out before I could implement all the contributions I imagined. Rather than being seen in a negative light, my leave from the community allowed me to see that there is always someone or something there to rekindle the spirit which attracted me to DocPad in the first place. The world moves regardless if you sit down or keep walking, but if you can give someone else the chance to catch up as you move on, he or she may be able to see the same world you came from.
While the structure of DocPad as a project didn't end up matching with the fluidity of the rapidly-evolving community, it succeeded in offering a lot of great things that nothing else could touch upon. Wherever DocPad progresses or whatever it turns into, I'm sure it will be great.
Also, I'd like to thank you @greduan. You took a torch too heavy for many and ran with it. You're a champion.
@balupton I did sometimes wonder if this project was overwhelming you as it has got quite a large following so I totally understand your move here. Good to hear your still going to be pushing the transition from the current state to a core and modular state.
Whilst it's a bit sad to hear of contributors leaving due to burnouts, I think the steps you are taking to ensure a future for DocPad are very much necessary. My biggest worry thus far has been that it all comes down on @balupton and if he burns out or becomes incapable of maintaining the project for whatever other reason then that basically spells the end of DocPad.
I've been wanting to contribute to DocPad but time constrains and the size & complexity of the main DocPad library have prevented me from doing so. Simplifying the core library by segmenting it into smaller, easier to understand libraries will certainly help in that regard, although I hope you won't take it too far and abstract it to the point where the main logic of your code is lost (hello every single modern PHP project).
Looking forward to seeing where this is going to take DocPad. I'll do my best to contribute where I can.
All that said - what are the next steps? And who is meant to take them?
@Naatan, I agree. Ben was telling me how using Polymer in a refactor could make pieces of WebWrite much more accessible for anyone to begin working with.
Setting up weekly hangouts is a good first step. Ben was considering possibly even daily hangouts. What days are good for everyone. Mondays are fine for me. Also I'm a big fan of using Trello in organizing projects beyond github.
@balupton You're an absolutely incredible individual, don't let anyone convince you otherwise. I often find myself getting insulted when people take differently to the work and technologies I invest myself so heavily into. I've learned to disconnect myself from the technologies I work on. I've begun to see the work I do as tools to accomplish something for me, rather than an extension of myself. It has helped me become less hurt when people criticize, allowing me to simply improve both the situation, and the technology I'm working with. I'm sure you've read this one before: You Are Not Your Job. You can take a step further and take on You Are Not Your Code.
I was so lucky to have had the chance to meet you when you were in Toronto. Your insights and thought leadership helped push me to technologies I would have never of thought even existed. Yes, it can be extremely difficult when people expect so much from you, but you are so much better than letting them get you down. I've been there before, and it will only get better by your showing everyone just how awesome you are.
Things can change, and admitting and realizing that is a huge step. I'm glad you're asking the community for help, and we're here for you. You've leveraged open source in the past, and it has gotten you to where you are today. Use that, love that, and help it push you to new fields of your life. We're here to help, and I'm glad you asked for it.
I don't know how relevant to docpad this is specifically, but microservices are an approach that seem like they could have merit in breaking out of the monolithic application world, and they are also specifically trying to make it easier to work on, and reason about the individual components.
Don't get me wrong, the complexity still exists, but it seems like microservices might be a bit easier on the programmers working on the individual parts of the system.