If you’re curious how a Windows developer would go about starting an open source project, you aren’t alone. Our most recent Office Hours Hangout guest, Don Schecnk, found himself ready to start an open source project, but didn’t know where to start.
Fortunately for us, he documented his process, and spoke with us about it on our latest Office Hours Hangout. We didn’t just cover the process, we also covered the product of his efforts, PoshStack, the PowerShell client for OpenStack. I’m including a few selected highlights, but the entire video can be viewed below. This was a fun interview — I know I learned a lot.
We started our conversation by speaking about PowerShell: what it is, and why developers and administrators use it. Don related the story of how PoshStack came to be – as a part-time project. Don also shared an example of being able to spin up dozens of servers for a training event.
PoshStack made it possible to automate that deployment (and subsequent spin down). Another task for PoshStack is to work in conjunction with a configuration management solution, such as Ansible. Don himself worked with the creators of Ansible to build the Windows version of Ansible, and enjoys the consistent environment he’s able to reproduce with these tools. I really appreciated how this bit of the conversation was an extension of our Hangout last week, with Ansible Certified Engineer Justin Phelps.
The experience of building an open source project
PoshStack is a great tool for anyone working extensively on Windows severs. It’s also a great case study in building an open source project. Don is new to open source, so he decided to document his experiences building an open source project, eventually turning his experience into a presentation given at various conferences.
During our conversation, Don outlined several lessons learned, tools used, and things he would have done differently. I enjoyed chatting with Don on these points; they’re great advice for anyone interested in getting started in open source, and probably even a few with plenty of experience.
I found his advice around slowing down to be especially helpful. Don recommended paying extra attention to the README file. That introduction to your project should give potential users and contributors a solid foundation to start with. Don recommended that each README contain four characteristics: A description, a list of prerequisites, complete installation instructions, and notes on how to contribute. Most importantly, Don encourages anyone interested in working on a project to just get out there and start contributing.
We wrapped up our conversation with a discussion on the new rack command line interface for Windows, Mac OS X, and Linux. Rack cli is very easy to install and configure — I was able to get up and running in about 5 minutes. The interface allows the user to command Cloud Servers, Cloud Files, Cloud Block Storage, and Cloud Networks. Rack cli even integrates well with PoshStack; users can send rack cli output directly into PoshStack for further work.
I truly enjoyed chatting with Don. It’s obvious that Don loves his job, and that love shows in the amazing tools he’s built. You can view the entire discussion below, and don’t forget to check out our next hangout, Thursday at 1pm.