-
Notifications
You must be signed in to change notification settings - Fork 311
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open Source New Years Resolutions #1445
Comments
This looks great! One suggestion I have regarding Make it worthwhile is to publicly thank contributors for their efforts. For instance, Mozilla has a section of their weekly public meetings called Friends of the Tree (here's an example). Publicly thanking contributors in the 18F newsletter could be cool--though I have no idea how any of this potentially conflicts with government regulations concerning endorsements... Also, regarding Develop a set of metrics, you might find the Mozilla Contributor / Contribution Analysis Project useful. In particular, response time has generally been viewed as the single biggest influence on contributor retention:
|
This point resonates:
I contributed to C2 a while back and it was a positive experience. @phirefly took time to help me get oriented on Slack and tracker, I got quick feedback from the team and the PR was merged shortly after. Then there wasn't an obvious next step. I don't blame the team for this at all, but it's difficult to understand what would have been most helpful. I'm an intermediate developer contributing to learn more about 18F and how good teams build software. Since I don't personally have a need for software to mange Federal procurements 😸, and most of the stories in tracker at the time looked like they required some internal context (e.g. many were specific client requests), I left it there. Maybe this is as it should be! I don't know if it's reasonable to expect a product team to spend time curating outsider-friendly chunks of work during a client engagement. But if there were a more obvious opportunity to keep going I probably would have. Also worth mentioning: It's possible that C2 is just not the right fit for me, but discoverability is a little tough. Even with the repos on github it's hard to efficiently answer the question "I have skills X and interests Y, how can I best help 18F?" The public Slack channels are great for project context but the single-channel approach makes it hard to browse and figure out where you fit in. Thanks very much for your work on improving the process. It's already quite good overall. |
Thanks @toolness - I hadn't seen the Mozilla meeting notes and really like them, in addition to the contributor project. I wish there was a way that I could see:
I know I could look at pull requests and forks, but there's really no way to measure comments from outside contributors (and not everyone who contributes codes...) @thebenedict That's very helpful feedback. One thing we're thinking is that we surface our tools in a better way. Many of our tools are reusable by any organization but not a lot of people know about them. I'm currently designing a dashboard with some others at 18F to help with this. |
Cool, glad my comments were helpful! I think the GitHub API could be used to get a lot of the statistics you need--especially if all 18f employees have some kind of criteria that's easy to query for (e.g. membership in the github 18f org). Are there any avenues of contribution you'd like to measure that don't go through GitHub? |
@brittag can you think of any avenues of contributions we want to measure that aren't available through GH data? I can't off the top of my head. |
Additional discussion happening over at Hacker News. Putting the link here so we can go back and capture anything useful that comes out of that thread. https://news.ycombinator.com/item?id=10903446 |
One challenge 18F must deal with w/r/t open source is that people usually contribute to open source for selfish reasons. At least I do. When I submit a bug fix or feature to an open source library, it is always because of something that I saw was broken or needed when using that library. Most of our code, at this point at least, is not for use by the general public, so there are few selfish reason for people outside of gov to contribute. I am guessing that people are mostly finding opportunities to contribute by surfing GitHub and diving into code. That's a lot of upfront work for someone who is operating out of the kindness of their heart! Perhaps a way to surface opportunities for contributions would be to create some type of integration with the Dashboard. Maybe encourage projects to add github issues for open source opps and then link to them in the Dashboard / in the project README? |
👍 @jessieay - I'm on the dashboard project and this is exactly what we're thinking. |
@melodykramer as 18F matures, I'd love to see some published guidelines based on accrued implementation experience about the realities of ongoing support, maintenance, and reuse of government-funded open source projects. I have a concern that custom built-to-order government code projects that are awesome for their initial implementor and are released under open source license often fall short in terms of actually delivering easy maintenance with long-term total cost of ownership savings, and even more in re: actual practical open source reuse by other governments. My personal solution to this, while not a panacea, is to build open source "products" on top of large-scale high-level open source frameworks like Drupal and Wordpress that have readily available commercial support from multiple vendors, and demonstrable long-term sustainability as developer communities. The higher in the stack you can achieve that, IMO, the more open source benefit you can leverage. I think it'd be great if 18F can help government software customers that believe in open source to be more savvy about these nuances, so that the open code that results from their investments actually realizes the open source promise of a) reusability at lower marginal cost/effort than developing/buying anew, b) flexible support/maintenance options from a diverse array of vendors avoiding lock-in, and c) the inherent innovation potential of being able to change... anything. |
@andrewhoppin I'm curious too about how to maximize reuse of government open source projects (it usually doesn't happen automatically when people just release code; there's a range of skills and types of work involved in planning for reuse and supporting it). I've been personally excited to work on the eRegulations project since it's a working example of a custom open source project built by one agency (CFPB) that's getting reused and adapted by 18F for other agencies (including ATF). There's a short post about an early stage of that reuse, and I hope we'll write more blog posts about that story. |
We're setting goals for increasing community involvement and reuse of our open source work. Here's an open thread for suggestions about these goals (feel free to comment), and we also have a goal to post updates here to track our progress. Some questions we have for readers both inside and outside government: Are these goals missing any important parts? If you're an outside-18F potential, current, or past contributor to 18F projects, do you have any specific needs/questions that aren't addressed here and that we should keep in mind? What would help you reuse 18F's projects for your own government or non-government work?
Our resolutions:
important to us that the public can easily contribute to our projects, but it's not an essential part of getting our work done, so we need to figure out how to fit supporting this into our routines. We don't routinely test our installation instructions for usability, for instance — but we could specifically ask for external help with that task.
those tools, write about them more, and identify the parts of our work that are generic. Decoupling them from the applications we developed them for will make it easier for others to reuse them. (h/t @konklone )
The text was updated successfully, but these errors were encountered: