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 affect 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:
- Data and state management
- Diffing algorithms
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
- Sizing and layout (e.g. auto layout, estimated sizes)
- Render and display pipelines
- Integration with third-parties
Collaboration & Community
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.
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.