Thank you, Mr. Rod Johnson, the founder of Spring Framework.
I have a ton of questions for you. I am sure you read The Spring Tutorials Blog daily.
I have been scouring the web for some history of Spring Framework lately. As a Spring Developer for last 11+ years, my focus has always been the things that I can do for my application. So I kept an eye out for Spring features all these years but ignored the history of the people behind it. With this post, I will try and give the credit where its long overdue (in my eyes).
I will go over the Spring Framework history from its inception in 2002 until 2017.
As much as I have known Spring Framework, there are still missing pieces that I cannot put together. Here is one big piece of the puzzle not known to me. I will pose few more as we go along.
How many founders did Spring Framework have?
You mentioned Juergen, Yann and yourself as co-founders in this post, Mr. Johnson.
Just finding this information alone took a long time for me. But I feel like something is missing there. I will try and seek clarification for everything I know. Please feel free to chime in if you see anything missing.
Let’s start with you first. I can relate to how you must have felt back in 2001 – 2002 period. After working on Java and the J2EE since its start, I can see how you felt the need to simplify things. But I don’t know for sure.
You were busy writing a book on J2EE design and decided to address this in there. You called it ‘Expert One-on-One J2EE Design and Development‘. You wrote thirty thousand lines of code to supplement your book. You named your code packages with com.interface21. You thought this was the 21st-century interface to programming – simpler and via interfaces. You gave up your paycheck for nine months I read somewhere. Is that all true?
The question is why you of all the others in the Java Community who thought of this simplicity first? Were there others addressing the same pain but just weren’t as successful in the same way as you.
Was it because you were an early adopter of Java and J2EE and had seen issues first hand before others. Java must have been about 5-6 years old at that point. J2EE must have been out for 2-3 years maybe if at all?
The book says your J2EE code was already in PROD for FT.com and other financial systems. You understood both C and C++ before picking Java and J2EE. You were a member of JSR 154 Expert Group defining the Servlet 2.4 specification. You contributed few chapters to Professional Java Server Programming and Professional Java Server Pages. You were a reviewer for Wrox Press. You were a speaker at international conferences already. And your articles showed up in java.sun.com before your book came out.
It is not hard to see that with your experience above, you saw things from a higher angle. Some of the best ideas come to me when I am on a plane.
I have been there. I can relate to it. I see so much complexity in things that we create for ourselves sometimes. I can’t help but notice them in technology more so than other fields.
I am a big believer in NO PAIN. NO PAIN.
I have surprised my teams many a times by saying just two words:
It is amazing how much power these two words have. Things got simpler in those projects from then on.
I saw a quote the other day. It was about a developer saying: “It was hard to code. It should be hard to figure out.” I didn’t think it was funny. I am sure you thought the same way.
I also feel like you had something else that turned you into a candidate for seeing things in a simpler light. Was it your dual degree in music and computer science at the University of Sydney that had something to do with it? You had Ph.D. in musicology after all before you moved to London and became a consultant. I mean you were teaching music to others before jumping into software development. I couldn’t help but make the connection there.
Now I know Juergen Hoeller as well. His name has been synonymous with Spring Framework and doesn’t need any introduction. He has led the Spring Framework Project ever since and continues to do so.
Thank you, Juergen.
For the record – Juergen does not know me. Rod does not know me. No one from Spring Team knows me.
I guess the story goes that when you published your book, you were active on Wrox forums. Wrox published your book and the code release was part of the book. The book had framework prototype as part of the offering.
Juergen Hoeller and Yann Caroff reached out to you on that forum and asked to release the code as open source. You hadn’t earned a paycheck in the last nine months and needed to get a job. Juergen offered to co-lead the project.
And you mentioned Yann coined the word ‘Spring’. He had known you to be a nature lover. He knew you had been trekking to Everest Basecamp in 2000. He wanted to symbolize the word Spring to mean a new beginning after the harsh J2EE winter.
The book release happened in Oct 2002. And I see that Spring 0.9 released under Apache 2.0 license in June 2003. So I am assuming the project named ‘Spring Framework’ happened somewhere in the middle? The ‘Professional Java Development with the Spring ‘ book says it was February of 2003.
Here is a minor confusion.
How many founders did Interface21 have?
During this time, Juergen and Yann became co-founders along with you. And you guys did not want to name the company Spring Framework. You provided few reasons in the same post. You were already consulting at that time and were not associated with just “Spring”. You wanted to have a commercial offering at some point for that open source project. The code was already using the name Interface21 in the packages. This would make sense from growing the business at some point in the future. I can understand that.
Were Juergen and Yann co-founders of the Spring Framework project or the interface21 company? I assumed that it was Interface21, but I think I am wrong. I see that Professional Java Development with the Spring Framework book calls out a date. It says Interface21 came into being in August 2004? It was the true entity behind Spring consulting training and support.
Interface21 vs Spring Framework is not important to me. I just want to be able to answer the benign question: “Who founded Spring Framework?” without any strings attached.
Yann had stopped contributing after a while and decided to pursue music and veered off. Juergen stayed as the binding force throughout.
I take it that Alef Arendsen, Thomas Risberg, Colin Sampaleanu joined in early 2003? I was hoping to find spring.io team page with some of this history. I am currently going with whatever I can find on the web. Thanks to LinkedIn, I am able to find these gentlemen and I take it from there.
Thank you, Alef Arendsen and Colin Sampaleanu.
Thank you, Thomas Risberg.
One of the reasons I found Spring Framework compelling was Spring JDBC. I was a junior developer and didn’t understand how transactions or dependency injection worked. Spring AOP was exciting but not a task I would get just yet. Spring JDBC was my bread and butter back then. From what I understand, Tom Risberg was responsible for all things JDBC in Spring. I see he is spear-heading the Spring XD as well as Spring Data for Hadoop Projects these days.
Thank you, Ben Alex.
I won’t forget Acegi anytime soon. I hope when developers see Spring Security, they are able to appreciate the fruit of your labor. In school, I relied on BASIC authentication to protect admin pages. Later, I wrote filters to do request intercepting. I tried the JOSSO (Java Open Single Sign-On) project once as well. In 2004, I saw Java Authentication and Authorization Service (JAAS) perform similar things. And then Acegi Security happened. In all my projects but one, I have used Acegi/Spring Security ever since.
Read how Ben came up with the name Acegi and how he sent the code to Rod and Juergen around November 2003.
It is not clear how AspectJ involvement came to be.
We knew Interface21 supported AspectJ in parallel with Spring Framework. After all, it was compelling to see AOP in action along with Spring. That was one of the selling points for banks or others that needed transaction or audit support. Spring Framework provided first class support for Struts, Hibernate, and most application servers. What’s not to like?
Thank you, Adrian Coyler
We do know that Adrian, AspectJ lead, joined Interface21 on 6 Sep 2005 after leaving IBM. Adrian’s role in with Spring AOP was crucial and defining to the community. Adrian later went on to become CTO at SpringSource, VMware, and Pivotal. Adrian joined VC firm Accel Partners in 2014.
The First milestone release 1.0 was out on 24th March 2004. By the time Adrian joined, Spring Framework had surpassed 400k downloads. Not too long after that, Spring Framework 1.2.6 release happened in November 2005.
The book ‘Professional Java Development with the Spring Framework’ came out in 2005. The book mentions a lot of names that I must bring out as well. These developers or consultants may have joined in the 2004-2005 timeframe. They provided the core of the Spring Framework and deserve a shout out.
Thank you, Rob Harrop
You were famous for your book Pro Spring that came out in early 2005. Rod Johnson endorsed and wrote the foreword for the book. Rob led the JMX and AOP efforts while at Spring Framework. This book helped developers like me pick up Spring Framework and apply it to our applications.
Thank you, Mark Pollack
You were behind the Spring .NET initiative. I am not a .NET developer but I know some of my blog readers are and they have you to thank as well. Mark leads Spring Data as well as co-leads Spring XD projects these days.
Thank you, Keith Donald
Your name is synonymous with Spring Web Flow – the project you led along with Erwin Vervaet. You were a contributor of Spring MVC development. I knew you led the Spring Rich Client Project (RCP) effort early on. I am just now learning that Keith kicked off Spring Social and Spring Mobile efforts as well. Phew!
Thank you, John Lewis
Your efforts led to Spring Portlet MVC which is where I learned about Spring Framework. If it wasn’t for John, Spring wouldn’t be in Liferay and I wouldn’t know of it.
Thank you, Ben Hale
Your work on Spring, tc Server, OSGi and now Cloud Foundry is laudable. I can see Ben’s efforts pave the way for the cloud apps that are imminent.
By the end of 2006, Spring had crossed 1 million downloads. Spring Projects like Acegi Security, Spring Webflow and Spring LDAP had their major releases. Spring 2.0. Final was out on 3 oct 2006.
2007, in my opinion, was a crucial year for Spring Framework. The Project had gained enough popularity that it didn’t need the introduction anymore. The company had matured into a stable entity and created a name for itself.
Interface21 had long term plans chalked out by then. In May, two key things happened for Interface 21.
- They raised $10 million Series A funding from Benchmark Capital. This gave them money to fire on all their cylinders.
- Accenture contributed their code to handle batch jobs under a Project named Spring Batch. This would come in handy in other Spring Projects going forward.
Thank you, Thierry Templier
Your book on ‘Spring Batch in Action’ helped me understand Spring Batch much later. I was able to pick up the subject and apply it to my applications within a few weeks.
Two important project announcements – Spring Webservice and Spring Integration – followed suit.
Interface21 realized the important of the name Spring and became SpringSource. I believe the company was now based out of San Mateo, CA, USA. Interface21 was a London, England based entity up until then.
Spring 2.5 release came in with the name change on 19 November 2007. Spring had surpassed 3 million + downloads by then.
How many founders did SpringSource have?
With the name change came the legal entity formation. I see the following listed as founders of SpringSource in CrunchBase:
Was I thinking Juergen Hoeller would be part of this?
Was Joost van de Wijgerd part of SpringSource? I know Joost was part of the JTeam along with Alef Arendsen. They were consultants and early committers to Spring Framework early on.
Steven Schuurman was also part of JTeam. He would later go on to found the famous company behind ElasticSearch company in 2010. Rod Johnson is currently on the boards of five companies including Elastic:
With $10 million in their accounts, SpringSource made some key announcements in 2008:
1) SpringSource bought Covalent the first month. Covalent is the company that funds and contributes to Apache Software Foundation. They are the team behind Tomcat and Apache Http Server.
Thank you, Dave Syer, Mark Fisher, and Gary Russell.
3) Acegi becomes Spring Security 2.0.0 in April.
4) In June, SpringSource raises $27m Series B round by Accel, Bay Partners, and Benchmark.
5) In November, Spring 2.5.6 release happened. Also with the new cash influx, SpringSource bought g2One in November of 2008. g2One is the company behind Groovy and Grails.
Some key events that took place this year:
1) SpringSource buys Hyperic for cloud monitoring in May 2009.
2) Spring Python 1.0.0 final release is out on 2 July 2009. Check out Spring Python here.
Greg takes the proven Spring Framework concepts and applies it to Python.
Thank you, Greg Turnquist.
3) The big announcement happens on 10 Aug 2009:
VMware acquires SpringSource for $420m.
4) SpringSource buys Cloud Foundry. VMware sees SpringSource as more of a facilitator of their cloud offerings. VMware repurposes Spring as a vFabric Application suite after the acquisition. Others in the offering – Greenplum.
5) Spring 3.0 release occurs on 16 Dec 2009. No more uber jar. Spring drops the support for Java4 or below. Rest support comes built-in now.
VMware buys Rabbit Technologies – the company behind RabbitMQ and Redis. VMware also buys Gemstone.
VMware is busy shuffling the projects. No major announcements come from Spring Projects.
Spring Data Commons Project release happens in April 2011.
The first offering is the Neo4j support in Spring Data Graph 1.0. that came from Michael.
Thank you, Michael Hunger.
In a few months, Spring Data JPA 1.0 GA comes out. This will change the way developers interact with the databases. Spring Data (JPA) under Oliver is one of the first projects to adopt the BOM structure that tackles intricate jar dependencies amongst projects and libraries. This makes my life easier as a developer.
Thank you, Oliver Gierke.
Mark Fisher announces Spring AMQP 1.1.0 in August 2011
In September 2011, Spring Social 1.0.0 comes out. Craig Walls leads that effort.
Thank you, Craig Walls.
Craig’s book ‘Spring in Action’ is one of the first books I read on Spring Framework. I think the book came out in 2005. The book offers a comprehensive view of the Spring Framework complete with examples.
Spring 3.1 GA release gets rid of the web.xml. It introduces Spring Profiles and @Cacheable support. Spring supports both XML and annotations based approach going forward.
Spring Data Redis 1.0.0 comes out. Costin Leau initiated that effort.
Thank you, Costin Leau.
Oliver Gierke releases Spring Data MongoDB 1.0
Another quiet year for Spring Projects just like 2010.
Spring Mobile and Spring Android projects release v1.0.0. Both from Roy Clarkson.
Thank you, Roy Clarkson.
A big announcement comes:
VMware sees the drift of Spring Framework in the other direction.
In April 2013, VMware and its parent company EMC work out a deal to spin off a new company called Pivotal.
GE invests $105m in Pivotal. All application oriented products move to Pivotal.
In Dec 2014, Spring 4.0 announcement comes with the introduction of Spring IO platform. Spring IO announces its first offering – Spring Boot.
1 April 2014. Spring Boot 1.0. GA comes out as announced by Phil Webb.
Thank you, Phil Webb.
11 June 2014. Tom Risberg announces Spring for Apache Hadoop.
Thank you, Andy Wilkinson.
In hindsight, Spring IO is proving to be a great facilitator of Spring Framework. It is the foundation project that brings everything you need to get going with Spring Framework.
Thank you, Josh Long.
Josh wrote a great book along with Gary Mak and Daniel Rubio called Spring Recipes.
30 July 2014. Mark Pollack releases Spring XD 1.0 GA
9 Dec 2014. Spring Framework 4.1.3 releases.
8 Jan 2015. Spring Session 1.0.0 release announced by Rob Winch.
Thank you, Rob Winch.
Rob leads the Spring Security as well as Spring LDAP projects.
4 March 2015. Dave Syer announces Spring Cloud 1.0.0
31 March 2015. Pivotal stops funding Groovy. Groovy 2.4 is the last major release under Pivotal sponsorship. Groovy enters Apache Incubator.
31 July 2015. Spring Framework 4.2 goes GA. It has built-in CORS support. Java 6+, Java EE6+, Java 8 support.
17 December 2015. Spring Framework 4.2.4 is available.
2016 was quite an eventful year for Spring.
27 Jan 2016. Michael Minella introduces Spring Cloud Task. This allows you to create short-lived microservices.
Thank you, Michael Minella.
Mike Minella leads the Spring Batch as well as Spring Cloud Task.
16 Feb 2016. Spring Initializr adds support for Kotlin language.
24 Feb 2016. Mark Pollack releases Spring XD 1.3.1 GA and a new project Spring Flo.
6 Apr 2016. Oliver Gierke releases Spring Data Release Train Hopper
15 Apr 2016. Josh Long announces SpringOne Platform.
10 Jun 2016. Juergen releases Spring Framework 4.3. It brings Hibernate ORM 5.2, Jackson 2.8, Netty 4.1, Undertow 1.4, Tomcat 8.5.2 support
19 Sep 2016. Artem Bilan releases Spring for Apache Kafka 1.1 and Spring Integration Kafka 2.1
Thank you, Artem Bilan.
Artem Bilan is part of the Spring Integration Team.
26 Sep 2016. Thomas Risberg releases Spring Cloud Data Flow for Apache Mesos 1.0
3 Oct 2016. Thomas Risberg releases Spring Cloud Data Flow for Kubernetes 1.0.1
18 Oct 2016. Marcin Grzejszczak announces a new sub project Spring Cloud Pipelines as a template for creating deployment pipelines.
Thank you, Marcin Grzejszczak.
Marcin is an author of “Mockito Instant” and “Mockito Cookbook” books and contributor to projects like Rest-assured, Drools, Moco, Mockito.
10 Nov 2016. Rob Winch releases Spring Security 4.2.0
23 Nov 2016. Mark Pollack releases Spring Cloud Data Flow 1.1
26 Jan 2017. Oliver releases Spring Data Release Train Ingalls.
23 Feb 2017. Jurgen Hoeller releases Spring Framework 5.0 M5. It has support for Early JDK9, Servlet 4.0, Bean Validation 2.0, Open JDK9, Kotlin.
Also, React Web stack supporting functional programming model gets a name – Webflux.
12 Apr 2017. Mark Paluch announces Spring Vault 1.0 and Marius Bogoevici releases Spring Cloud Stream Chelsea.
Thank you, Mark Paluch.
Mark is a committer on Spring Data.
Thank you, Marius Bogoevici.
14 June 2017. Spring Framework 5.0 goes RC2 with Java8+ baseline. Spring will now autodetect commons logging bridge. It also provides early JUnit 5.0 early support
5 July 2017. Mark Fisher announces Spring Cloud Function Business logic via functions.
21 Sept 2017. Oracle releases JDK9 and Java EE 8.
28 Sept 2017. Spring Framework 5.0 goes GA. It has full support for JDK9, Junit 5. Java EE7 API level required in Servlet 3.1, Bean Validation 1.1, JPA 2.1, JMS 2.0. Tomcat 8.5+, Jetty 9.4+, Wildfly 10+. Entire framework code base is Java 8 now.
With this post, I wanted to make sure I captured the story behind Spring Framework.
If you are new to Spring Framework, I hope the infographic gave you an idea for how it all came to be and where things stand.
My intention was to recognize team members who made Spring Framework possible. Last but not least, I thank all the Spring Committers that are not mentioned here but helped move the project in one way or the other. A list of current team members of Spring is available here.
Now I may have misinterpreted some of this information. If, for any reason, you see that something is not right, please leave a comment below and I will correct it.
Spring Team, If you feel I am missing someone, please share your thoughts.
If this post helped you in any way, please let me know. I would appreciate if you shared this with others. I can also let you know whenever I post something by subscribing here.
Thank you and Have a Happy Holidays!
Updated 10 Jan 2016. Added Andy W and Greg T.
Updated 1 Oct 2017. Added more updates.