Facebook last week launched its Incubator on GitHub in order to distribute its own open source software projects.
Incubator serves as a testing ground for new open source projects from Facebook, which has open sourced almost 400 projects to date. New projects will be posted on Incubator pages to gauge community reaction and rate of adoption.
To make the cut, projects have to get community pickup, have good documentation, be easy to integrate with other tools, and show good engagement between Facebook and the community.
Facebook plans to use in-house and actively develop all projects posted on the Incubator page.
“This is very perspicacious on Facebook’s part to use the Incubator as a beta stage,” said Laura DiDio, principal analyst at ITIC.
“Crappy software is one of the top three security threats,” she told LinuxInsider, “because companies are pushing software and applications and projects out the door quickly to keep up with the Joneses.”
Ensuring projects have good documentation and interoperate well with existing products is critical, DiDio said.
Testing the Incubator Waters
The Create React App, which helps React devs get started with new projects is the first project launched on Incubator.
React is an open source JavaScript library that provides a view for data rendered as HTML. Companies including Netflix, Imgur, Feedly and Airbnb have used it in the development of their home pages.
React and React Native rank among Facebook’s top open source projects on GitHub.
Incubator is the latest step in Facebook’s push into open source. The company last year teamed with several other firms — including Google and Twitter — in launching ToDo, which aids collaboration on practices, tools and other ways to run successful and effective open source projects and programs.
Maintaining the vitality and involvement for projects is “a significant challenge of open source software,” noted Jay Lyman, a research manager at the 451 Group.
“It’s good to see Facebook focused on the whole life cycle of open source software projects beyond the launch and initial stages,” he told LinuxInsider.
Considering its size, when Facebook “tries to make its use and support of open source software more holistic and strategic through policy and management, it’s likely to benefit the projects, community and company by steering resources more effectively,” Lyman pointed out.
Risk of Over-Incubation
Facebook’s Incubator is “not really different, from the point of view of developers and integrators looking to adopt a given project,” said Bill Weinberg, a senior director and analyst at The Linux Foundation. “It’s just more methodical and cautious.”
In The Linux Foundation’s professional open source management consulting practice, “we advise clients to establish metrics to apply to all projects, mature and incubating, as part of their discovery and evaluation processes,” he told LinuxInsider.
“Knowing that a project is in beta is a valuable and actionable data point — along with information about community size, project activity, code size and documentation,” noted Weinberg. “What may be confusing is that the myriad projects in the open source universe don’t all follow the same practices as Facebook — or as one another — vis–vis project maturation.”
Incubation status has the potential to attract developers who might shy away from more mature projects, he suggested. It provides opportunities to enhance functionality and fix bugs early in the project life cycle, and it invites early feedback.
For the FOSS community, the incubation program “shines a light on the status and workings of projects, and provides an opportunity to contribute to a new project and make a real difference in its evolution,” Weinberg said. However, staying in incubation too long “may mislead potential adopters to think a project is stalled or moribund.”