GlassFish is a free, open source software application server (under CDDL * and GNU GPL licenses), and free that was developed by Sun Microsystems (now Oracle). It implements technologies defined in the Java EE platform of this company, and allows running apps that support this specification.
There is a commercial version GlassFish is called Oracle GlassFish Enterprise Server. Additionally, Oracle has provided the TopLink persistence module. On the other hand, this platform is based on Sun Java System Application Server, a derivative of the famous Apache Tomcat with additional components such as Grizzly, which uses Java NIO to provide scalability and better performance.
The GlassFish server supports technologies like JSP, JSF, Serverlets, EJBs, Java API, JAXB, JPA, RMI, etc. This allows developers to have a great platform to develop scalable and portable apps. In addition, it is not difficult to configure a load balanced cluster to start squeezing this project into your own local or contracted server.
I have previously commented that GlassFish implements the platform Java EE (Enterprise Edition). For those who do not know it, it is a standardization for the development of business Java applications that are portable, that is, they can be used on any server regardless of the platform and without modifications.
GlassFish is currently in its version 5.x, which is the last stable. However, you have newer versions from the Eclipse Foundation (current developer).
More information about GlassFish - Website on GitHub
Learn more about Eclipse GlassFish - Eclipse Foundation Official Site
GlassFish source code - GitHub