How to Twitter Taught Me about Open Source

Twitter is, what’s going on in the world right now and what people are talking about. Twitter is American blogging and social media site where users post messages known as “tweets” and communicate with them. Initially, tweets were limited to 140 characters, but this limit was doubled for all languages on November 7, 2017, to 280.

Open Source
Open source generally refers to any program whose code is made available as users or other developers see fit for use or modification. Open-source software is generally developed and made available freely as public cooperation. Open Source is an Open Source Initiative certification mark. Software developers intended to be freely shared and possibly improved and reallocated by others may use the trademark of Open Source if their terms of distribution conform to the Open Source Definition of the OSI. To sum up, the definition model of the terms of distribution requires that; the distributed code must be distributed without any limitation to anyone else. The source code must be made available (so that it can be improved or modified by the receiving party). To bear a different name or edition from the original software, the license may allow improved versions of the software. Click here to know more about twitter accounts.

Twitter Open Source Projects
Twitter technicians use, contribute and release a lot of open-source software, and proof of that is their GitHub config file. Twitter has 131 public repositories, maintained around the globe by 116 active members of twitter. Twitter as such began as a simple Ruby on Rails application but soon realized that they needed to reinvent and revamp the entire platform to meet twitter’s scale demand. And they had introduced and opened a lot of great projects while doing that.

Top Twitter open source projects are discussed below;

Scalding is a Scala library that makes Hadoop MapReduce jobs easy to specify. Scalding is built on top of Cascading, a Java library that summarizes the details of small-level Hadoop. Scalding is similar to Pig, but it offers tight integration with Scala, bringing Scala benefits to your MapReduce jobs.

Finagle is used in Twitter development (and many other entities) and is currently being developed and maintained. Finagle is an extensible JVM RPC system used to create high-competitive servers. With multiple protocols, Finagle provides standard client and server APIs and is designed with high performance and competitiveness. Most of the Finagle’s code is agnostic protocol, making it easier to enforce new protocols.

Finatra is an agile web framework for scala that is inspired by Sinatra, it runs on top of Finagle. Finatra builds on top of Twitter Server functionality by allowing you to easily define a server and controllers that identify and manage the server’s endpoints. You can also use a controller, a controller path, or all controllers to compose filters.

Twitter Ambrose is a forum for MapReduce data workflows to be viewed and monitored in real-time. It presents a global view of all post-planning and optimization map-reduction jobs derived from your workflow. As jobs are submitted on your Hadoop cluster for execution, Ambrose is updating its visualization to reflect the latest job status, which is discussed in your process.

Parquet is a format that supports nested data in columnar memory. Use Apache Thrift, parquet metadata is encoded. Twitter created Parquet to provide any project in the Hadoop ecosystem with the advantages of compressed, efficient columnar data representation.

Summingbird is a library that allows you to write and execute MapReduce programs that look like native Scala or Java collection transformations on a number of well-known distributed MapReduce platforms, including Storm and Scalding.

Bower is a web package manager originally created and adopted by a large community on Twitter. It provides a generic, unconscious solution to the front-end package management problem. It exposes the package dependency model through an API, which a more opinionated development stack will access. Bower runs over Git and is an agnostic program. Any type of packaged part can be composed.

Flock DB
FlockDB is a distributed database of adjacency lists to be stored. FlockDB is much simpler than other graph databases like neo4j, as it attempts to solve fewer problems. It scales horizontally and is optimized for high-performance environments such as websites that are on-line, low-latency. Twitter uses FlockDB to store social graphs and secondary graphs.