Wikimedia Apps/Team/iOS/Third Party Libraries

Here are practices the iOS apps team will follow with respect to third party libraries (e.g., AFNetworking).


 * Use a package manager - currently CocoaPods
 * Pin versions in the configuration. Builds should be reproducible. Update explicitly.
 * Watch licenses and don't forget to include things in the About box.
 * In case new libraries are needed, team members will do the following:
 * Send a ping on #wikimedia-mobile IRC and get a meeting setup with iOS engineers to discuss.
 * Email mobile-l with the following points addressed, pointing to a page on mediawiki.org for further discussion:
 * Is the license permissive?
 * Is the library ubiquitous?
 * What is the impact on binary size?
 * How severe, if at all, are inbuilt subdependencies?
 * Will this make the code more, or less, understandable for volunteers?
 * What are the performance ramifications of using this library?
 * What are the complexity ramifications of using this library?
 * Is it actively maintained?
 * Is it compatible with current deployment targets?
 * Does it hinder interop (e.g., with Swift)?
 * What is the exit plan if the library becomes unmaintained?