open source: working in a glass walled factory
TRANSCRIPT
![Page 1: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/1.jpg)
Working in a Glass Walled Factory
Managing an internally-sponsored, open source project
Stephen M. James • @tweetllama • DevWorkshop 2015
![Page 2: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/2.jpg)
Survey of audience
![Page 3: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/3.jpg)
Why? open-sourcing an internal project
![Page 4: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/4.jpg)
Prestige & reputation of being forward thinking and contributing to the community
Prospects may already be familiar with part of your codebase
![Page 5: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/5.jpg)
Increased usage cases and coverage rare bugs found more quickly
To further your own job prospects
publicly proven track record
![Page 6: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/6.jpg)
Experimentation mindset and "outside" release cycle
that is, not within the company release cycle
Democratization of the code even if just internal open-source–no ivory towers.
![Page 7: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/7.jpg)
Value-add for partners and third-parties seamless look and feel
![Page 8: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/8.jpg)
And my favorite, the off-chance that some non-profit organization is using the code to
raise awareness of social injustice or defend the orphan, window, or alien.
![Page 9: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/9.jpg)
Introduction
![Page 10: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/10.jpg)
A UI library of jQuery plugins
![Page 11: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/11.jpg)
My
![Page 12: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/12.jpg)
Know your audience
![Page 13: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/13.jpg)
![Page 14: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/14.jpg)
![Page 15: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/15.jpg)
What is the business goal of your project?
![Page 16: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/16.jpg)
Open source = drive thru?
![Page 17: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/17.jpg)
Our default was not recommended.
WAT!
![Page 18: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/18.jpg)
Change all your declarative markup?
Easy isn’t always best for internal clients.
Optional dependencies?
![Page 19: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/19.jpg)
Is this a side project?
Or an essential part of your company or department?
![Page 20: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/20.jpg)
Are you architecting in a “white lab coat experience?”
![Page 21: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/21.jpg)
Creation is an intrinsic motivator.
Maintenance usually requires extrinsic motivation.
If only code documented itself
clearly and released itself.
![Page 22: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/22.jpg)
Chores
![Page 23: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/23.jpg)
Facilitation Who’s going to be responsible
for this project?
![Page 24: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/24.jpg)
![Page 25: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/25.jpg)
Am I really following semver?
![Page 26: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/26.jpg)
Semver is implicit communication MAJOR version when you make incompatible API changes,
MINOR version when you add functionality in a backwards-compatible manner, and
PATCH version when you make backwards-compatible bug fixes.
![Page 27: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/27.jpg)
When to break things
![Page 28: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/28.jpg)
@oskay
![Page 29: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/29.jpg)
![Page 30: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/30.jpg)
I built my house on a pre-fabricated foundation called Bootstrap, how do I move it off
lessen dependency dependency
![Page 31: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/31.jpg)
![Page 32: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/32.jpg)
Pull request your own code
or at the very least diff it
![Page 33: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/33.jpg)
![Page 34: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/34.jpg)
Make the “right” way, the easy way
structure and branching example
![Page 35: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/35.jpg)
![Page 36: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/36.jpg)
Write tests, and hook up to continuous integration
free licenses for travis, saucelabs, etc.
![Page 37: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/37.jpg)
Be humble. Be open to being wrong.
Easy on the guilt there buddy,
this is software.
![Page 38: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/38.jpg)
Project health + personal health
issue resolution, dependencies, complexity, monitoring for open source
![Page 39: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/39.jpg)
IsItMaintained.com
![Page 40: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/40.jpg)
Bithound.io
![Page 41: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/41.jpg)
Be nice
“I don’t have to time !nd the previous issue” instead of berating
![Page 42: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/42.jpg)
The project has arrived... Now how do I sunset it?
Communicate the path forward to the community
![Page 43: Open Source: Working in a Glass Walled Factory](https://reader031.vdocuments.us/reader031/viewer/2022030213/589da2971a28abfb3d8b6d3d/html5/thumbnails/43.jpg)
Stephen M. James • @tweetllama
Let’s create a culture of learning, experimentation, and fail fast. Thanks for listenin’! Deck eventually available at slideshare.net/interactivellama/