Goldman Sachs open sourced GS Collections in GitHub in January 2012. Since then we have seen a steady increase in interest in the project. We have not previously accepted external contributions to the framework. We would like to change that by creating a more open project that we can grow a diverse community around. We feel we can best accomplish this by moving GS Collections to the Eclipse Foundation, renaming the product to Eclipse Collections and renaming the packages from com.gs to org.eclipse.
The Eclipse Collections project provides object and primitive data structures for Java (e.g. List, Set, Bag, Multimap, BiMap, Stack). New container implementations, new iteration protocols, additional parallel iteration patterns and types may be added over time but they should extend one of the root types like RichIterable, PrimitiveIterable or ParallelIterable.
Eclipse Collections is a collections framework for Java. It has JDK-compatible List, Set and Map implementations with a rich API, additional types not found in the JDK like Bags, Multimaps and set of utility classes that work with any JDK compatible Collections, Arrays, Maps or Strings. The iteration protocol was inspired by the Smalltalk collection framework.
Eclipse Collections started off as an open source project on GitHub called GS Collections. GS Collections has been presented at the JVM Language Summit in 2012 and JavaOne in 2014. There are two articles (part one and part two) on InfoQ.com showing some of the capabilities of the collections framework through examples. A performance comparison between the parallel lazy implementations of Java 8, Scala and GS Collections was presented at QCon New York in 2014. A set of memory benchmarks is available here.
We can work much more directly and collaboratively with the community by accepting external contributions through the Eclipse contributor agreement, using git as the primary repository, communicating through Eclipse email distribution lists, wikis, and bug trackers.
Similar to the Eclipse IDE, Eclipse Collections has gotten a lot of inspiration over the years from Smalltalk.
We would like to provide the initial contribution for Eclipse Collections 7.0 before the end of 2015.
The library currently provides compatibility back to JDK 1.5. We would like to make a major change to the libary (Eclipse Collections 8.0) by upgrading the library to only be compatible with Java 1.8 or higher. This will give us tighter interop with new functional interfaces and new interfaces like Streams, where we can provide optimized implementations for the framework.
We will give presentations on Eclipse Collections at Java User Group meetups and technical conferences globally (e.g. JavaOne and EclipseCon) as well as writing technical articles for various developer focused websites.