{
    "version" : "https://jsonfeed.org/version/1",
    "content" : "news",
    "type" : "single",
    "title" : "Working In Public From Day 1 |Digital.gov",
    "description": "Working In Public From Day 1",
    "home_page_url" : "/preview/gsa/digitalgov.gov/bc-archive-content-3/","feed_url" : "/preview/gsa/digitalgov.gov/bc-archive-content-3/2014/08/04/working-in-public-from-day-1/index.json","item" : [
    {"title" :"Working In Public From Day 1","summary" : "In the wide world of software, maybe you’ve heard someone say this, or maybe you’ve said it yourself: “I’ll open source it after I clean up the code; it’s a mess right now.” Or: “I think there are some passwords in there; I’ll get around to cleaning it out at some point.” Or simply: “No","date" : "2014-08-04T10:00:38-04:00","date_modified" : "2025-01-27T19:42:55-05:00","authors" : {"eric-mill" : "Eric Mill"},"topics" : {
        
            "open-source" : "Open source",
            "software-engineering" : "Software engineering"
            },"branch" : "bc-archive-content-3",
      "filename" :"2014-08-04-working-in-public-from-day-1.md",
      
      "filepath" :"news/2014/08/2014-08-04-working-in-public-from-day-1.md",
      "filepathURL" :"https://github.com/GSA/digitalgov.gov/blob/bc-archive-content-3/content/news/2014/08/2014-08-04-working-in-public-from-day-1.md",
      "editpathURL" :"https://github.com/GSA/digitalgov.gov/edit/bc-archive-content-3/content/news/2014/08/2014-08-04-working-in-public-from-day-1.md","slug" : "working-in-public-from-day-1","url" : "/preview/gsa/digitalgov.gov/bc-archive-content-3/2014/08/04/working-in-public-from-day-1/","content" :"\u003cp\u003eIn the wide world of software, maybe you’ve heard someone say this, or maybe you’ve said it yourself: \u003cem\u003e“I’ll open source it after I clean up the code; it’s a mess right now.”\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003eOr: \u003cem\u003e“I think there are some passwords in there; I’ll get around to cleaning it out at some point.”\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003eOr simply: \u003cem\u003e“No way, it’s just too embarrassing.”\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003eThese feelings are totally natural, but keep a lot of good work closed that could easily have been open. The trick to avoiding this is simple: \u003cstrong\u003eopen source your code from day 1.\u003c/strong\u003e Don’t wait for a milestone, don’t wait for it to be stable—do it from the first commit.\u003c/p\u003e\n\u003cp\u003eHere are a few reasons why you should feel good about working in the open from the moment your shovel goes in the ground:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNo one’s going to read your code.\u003c/strong\u003e Your code is almost certainly boring. Most code is. Instead, people will evaluate your work based on how they’d interact with it. Is it easy to learn how to use it from the README? Is development active? Have many GitHub users starred it? And none of that will matter until your project is far enough along that it’s useful. You will not be in the spotlight until you deserve to be.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eYou will make better decisions.\u003c/strong\u003e At the most basic level, you will be vastly less likely to accidentally commit a password to an open source project than a closed one. But more than that: even though no one is reading your code, you’ll still feel a bit of natural pressure to make better decisions. You’ll hardcode less, and move more into configuration files. You’ll make things slightly more modular. You’ll comment more. You’ll catch security holes more quickly. That’s a healthy pressure.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eIt will not waste your time.\u003c/strong\u003e It may feel like some of those “better decisions” take more time. But even if you’re the only person who will ever work on this project, you have to live there. You’ll greatly and immediately appreciate having made those decisions the minute you return to your own code after taking a month off. And when making better decisions becomes routine, they stop taking more time—and you become a better coder.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eYou might just help people.\u003c/strong\u003e And people might just help you! The Internet is a big place and a small world, and GitHub has a way of making unexpected connections. If your work is even a little bit useful to someone else, there’s a good chance they’ll find their way to your door, start poking around, and find a way to be useful right back. Even if you’re working on what you think is the most niche project that no one else would ever use: leave the door open for providence.\u003c/p\u003e\n\u003cp\u003eOnce you get used to beginning your work in public, it stops feeling like performance art and starts feeling like breathing. It’s a healthy routine that produces better work and personal growth, and opens the door to spontaneous contribution and engagement. When your default is open, everyone wins.\u003cem\u003eThis post was originally published on the \u003ca href=\"https://18f.gsa.gov/\"\u003e18f blog\u003c/a\u003e by Eric Mill of \u003ca href=\"https://18f.gsa.gov/\"\u003e18f\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n"}
  ]
}
