-
Notifications
You must be signed in to change notification settings - Fork 0
Home
- Background
- Model Organizations
- Chosen model organizations / projects
- Preserved from original for now - this needs merged
This is currently receiving updates - we are considering this a DRAFT for now.
As part of the endeavor towards developing an open source footprint for the SmartCity Columbus we have asked ourselves a seemingly simple question - How do we plan to interact with the community in the context of open source. Sure we plan to use plenty of open source software components ( open source, free software - nit pick for later - reference issue #1).
The Smart Columbus Operating system itself will be built with / around a number of open source software packages. It is certainly likely there will be contributions back to these communities ( pull requests, documentation, filing issues etc ). When it comes to building a community of our own we need to think very hard about what other organizations, communities and even individuals have done. What has worked well, what has not worked.
We have taken what felt like the right approach towards this end. We have opened up a github repo along with a number of issues to discuss the various aspects. This document is intended to combine the points as discussed in issue #2 around Model Organizations - we strongly encourage you to review the comments in this issue. With this said, the wiki document is intended to be a living document - just because we discussed something a particular way ( or did not mention something in the issue ) does not intend to imply we are done. This document should continue to be maintained as our project continues. Things change and that should be a good thing.
Please note this document is intended to focus on the what not the how. What ideals we should look look to adopt, what should we watch out for / look to prevent. There are other high-level issues such as license selection which will dive further into these key areas. This document is more or less a building block / foundation for future work.
Our goal is to build the foundation for a healthy open source community in/around Smart City Columbus. We must find out what other organizations and projects have done well and, when appropriate, look for characteristics of what not to do / avoid. We must ask ourselves a few questions about each project / community we intend to evaluate:
- How healthy is their community?
- Is there anything which makes this community welcoming or otherwise?
- Have there been situations which caused fractures in the community?
- If there were fractures, how bad - what happened and what, if any, were the warning signs
Please note, the order of these questions is not necessarily ordered or weighted - should they be?
- How does the project / organization take feedback?
- Issues
- Pull Requests
- Email / other
- Forum / Slack?
- Do they communicate a roadmap?
- Are the application / project features must be publicly visible
- Does the community have input on this roadmap?
- How is licensing handled?
- Existing opensource license?
- Some other license?
- Are the issues / bugs / enhancements publicly accessible?
- May get too far into the how, what are they using for issue tracking
- How transparent are they with bugs, exploits?
- How do they prioritize bug fixes and security issues?
- What kind of documentation do they provide?
- Is the documentation stored in a revision control system?
- What about things like api / code-level documentation?
- implementation, administrative and operational documentation?
- Do they publish / maintain contributors for each project
- Contributors.md or equivalent in the code repo?
- Release notes reference?
- What is their process for accepting community contributions
- Do they require a Contributor License Agreement?
- Pull requests accepted?
- Do they have a code of conduct?
- How long as the project / organization existed?
- If this is an organization are they solely focused on open source software / products?
- Do they follow an open core model?
Please take these as they are intended - an honest view without bias and with the goal of educating ourselves to be better stewards to build a great open source community. The list of organizations / projects below are for reference and to inform ourselves of what to do, what not to do and things to watch out for to keep the environment healthy and inclusive.
For now the format is not in a form / chart layout as this would likely be far too difficult to read. Not sure if it would make sense for a change in the future or not.
Elastic.co is a software development company which started with 3 main products - each of which were being developed separately at the time. The imfamous elk was comprised of these three open source projects - Elasticsearch, Logstash and Kibana. The main projects eventually combined forces via the elastic.co corporation. Their products have continued to have strong adoption and continued growth in other sectors with things like beats apm and others.
The elasticsearch and other components have been open source for some time, suggest reading up on their open source code page for additional context there as well as checking out their github org
- They follow the open core
- They have code-generated documentation
- They have clear contribution documentation
- elasticsearch
- kibana
- beats
- elasticsearch-ruby
- ... etc not going to enumerate all of them
- Clearly licensed source code at the top of each project repository
-
elasticsearch
- including additional licenses
- etc not going to enumerate all
-
elasticsearch
- Very active external Contributors
- elasticsearch has 1108 at this time
- kibana has 295
- beats has 311
- etc, not going to enumerate all
- Clear release notes with details on changes
- beats
-
elasticsearch
- Nit-pick, I had to hunt around for the elasticsearch release notes vs having them linked in the release itself like beats has it
- etc not going to enumerate all
- Each release note found has clear references to issues resolved
- Public Issues
- nice use of tags / labels
- bugs are public!
- They have a contributor license agreement
- They have a contributor license agreement
- listed again as a con, some view this could be deter contributions
-
x-pack is open source however use of certain features requires a support contract / subscription
- Features like ssl and authentication/authorization require a subscription ;(
Over-all I feel the elastic.co community is very healthy. There are a few aspects which could possibly be improved upon but looking at the number of contributors over time just on code is quite impressive. We could learn a lot especially when it comes to mixing open source / open core and having modules / plugins which allow for professional services and customized integrations and extensions.
Redhat has been around for a very long time. What started as an open source linux distribution back in 2004 has since grown into a multi-billion dollar company ( most recently being acquired by IBM ).
Redhat, as a commercial organization, has gone on to acquire a number of other companies. A non-exhaustive list:
Many(need citation) of these acquisitions have resulted in closed source applications being released under an open source license.
We need specific projects which fall under the Apache Software Foundation. It may be better to replace this section with a section each for the projects
We need specific projects which google has launched. It may be better to replace this section with a section each for the projects
... summary ...
... summary ...
... summary ...
... summary ...
... summary ...
... summary ...
... summary ...
OpenStreetMap (OSM) is an initiative to create and provide free geographic data, such as street maps, to anyone. The OpenStreetMap Foundation is an international not-for-profit organization supporting, but not controlling, the OpenStreetMap Project. It is dedicated to encouraging the growth, development and distribution of free geospatial data and to providing geospatial data for anyone to use and share.
- The data is shared under the Open Database License
- This is a very established and tested open-source infrastructure for geospatial-specific datasets. Cities around the world already use OSM for navigation and urban planning. As a majority of the data in the Operating System has some form of geospatial element, it seems in our advantage to explore more development of our infrastructure in ways that are compatible with theirs.
- There are several tutorials on contributing to the data.
- The OSM Foundation leads several fundraising efforts, and hosts a number of annual regional and international conferences to grow the community.
- Many for-profit mapping organizations have close connections with the OpenStreetMap community
- The content and community moderation is not as mature as other organizations such as WikiMedia.
Who engages the community well? Who has the best quality and security? And stuff like that.
Reference issues #2 and possibly others
This post from WAY BACK in 2003 has some great stuff in it: A Group Is Its Own Worst Enemy
It's long, but it gets down to: Three Things to Accept
- You cannot completely separate technical and social issues
- Members are different than users
- The core group has rights that trump individual rights in some situations
And Four Things to Design For
- Handles the user can invest in (stable identity, reputation)
- A way for there to be members in good standing
- Some kind of segmentation of capabilities (some barriers to entry)
- Find a way to deal with scale