Add vision doc

Summary:
Adding a `VISION.md` doc at the root dir to give collaborators and users guidance about what we will work on and how we will prioritize features/fixes for IGListKit.

Issue fixed: #542

Closes https://github.com/Instagram/IGListKit/pull/607

Differential Revision: D4852285

Pulled By: jessesquires

fbshipit-source-id: 9588c1ade63d291d60a4ff34c50506c38b51b5b0
This commit is contained in:
Jesse Squires 2017-04-07 15:21:40 -07:00 committed by Facebook Github Bot
parent ba65b56a9b
commit da4ef11f5b
2 changed files with 38 additions and 0 deletions

34
Guides/VISION.md Normal file
View file

@ -0,0 +1,34 @@
# Vision
This document serves to outline the long term goals of IGListKit and act as a guidance when making decisions about features and issues.
## Prioritizing Features & Fixes
IGListKit is a data-driven, list-building framework built, owned, and maintained by the engineering team at Instagram. Because IGListKit powers parts of the Instagram iOS app, we prioritize features and bugs towards those that effect Instagram. However the team recognizes the wide range of use-cases for IGListKit and wants to serve as broad an audience as possible without sacrificing our own needs.
## Goals & Scope
The core goal of IGListKit is to build fast, stable, and data-driven lists in iOS applications. That scope includes things like:
- `UICollectionView` and `UITableView` integrations
- Data and state management
- Diffing algorithms
While IGListKit uses specific tools, we do want to limit the reach of how we use those tools. We highly encourage people to explore solutions that fit their needs and will try to assist when possible. Examples of things beyond the scope of IGListKit:
- Advanced/custom `UICollectionViewLayout`s
- Sizing and layout (e.g. auto layout, estimated sizes)
- Render and display pipelines
- Integration with third-parties
## Collaboration & Community
While IGListKit is an Instagram project, we want to give as much ownership and responsibility to the community as possible. We welcome everyone to become a collaborator on the project with whatever level of contribution you feel comfortable with.
We recognize that maintaining open source projects can be demanding, and often done in addition to other responsibilities. We have no expectation for the amount or frequency of contribution from anyone.
We also ask that you help keep our community welcoming and open.
## Communication
Github Issues serve as the "source of truth" for all communication and decision-making about IGListKit. This keeps everything open and centralized. We will consider other forms of communication (Slack, Facebook Group, etc) once the scale of the project and/or community demands it.

View file

@ -82,6 +82,10 @@ github "Instagram/IGListKit" ~> 2.0.0
You can find [the docs here](https://instagram.github.io/IGListKit). Documentation is generated with [jazzy](https://github.com/realm/jazzy) and hosted on [GitHub-Pages](https://pages.github.com).
## Vision
For the long term goals and "vision" of `IGListKit`, please read our [Vision](https://github.com/Instagram/IGListKit/blob/master/Guides/VISION.md) doc.
## Contributing
Please see the [CONTRIBUTING](https://github.com/Instagram/IGListKit/blob/master/.github/CONTRIBUTING.md) file for how to help out. At Instagram we sync the open source version of `IGListKit` daily, so we're always testing the latest changes. But that requires all changes be thoroughly tested and follow our style guide.