STLport Story
by Boris Fomitchev

First Step

I started STLport project in Jan'97, shortly after first release of SGI STL. Back then, I was working for Moscow Center for SPARC Technology. I made a quick-and-dirty port of SGI STL for gcc-2.7.2 and SUN CC 4.2 for internal use. Very proud of myself, I submitted my changes back to SGI team. Matt Austern (still leading library developer) was kind enough to respond to me. However, I realized SGI team were not interested at all in extra portability. So I built my own Web page and started distributing my humble port from there. I named it "Adapted SGI STL" (weird, huh ?). Reasonable name appeared only a few months later.

"With a little help..."

Once the initial port availability was announced, I started to receive strong feedback from users. Many people happened to be interested and willing to contribute to this development. With their help, it only took me a few months to port it to most popular compilers. At the same time, I started to realize infinite potential for improvements in this library.

Going Ahead

The first time STLport went ahead of SGI STL was introduction of exception handling support. Dave Abrahams implemented exception-safe standard containers and algorithms on the base of SGI STL to present to ANSI C++ Commitee. At the time, no EH guarantees/requirements were present in the draft standard. Dave proposed to merge his changes into STLport, for maintenance reasons, which I happily did. In the meantime, SGI somewhat independently implemented the exception-safety guarantees in the proposal Dave brought before the committee with Greg Colvin. The STLport exception-handling testsuite was instrumental in getting these implementations right. Dave and Greg managed to get the proposal approved by the standards commitee, due in part to the existence of two working implementations.

Making the Difference

Debug Mode was implemented after "Safe STL" (debug version of HP STL, by Cay Horstmann) in 1997. It is still the feature which makes STLport different from all other standard libraries. No matter how simple the idea of this mode might look, it took several complete redesigns to get it to its current level. I am very pleased to be able to present this unique feature.

Letting Go

I have to confess that there was a time when I was serious about selling STLport as a commercial library. It took me two years to get a slight idea of how the industry works. So I decided to stick with open source.

Growing Up

Using open source component does not necessarily mean relying on self-maintenance and volunteers good will. In 1999, STLport Consulting, Inc. was founded. We offer STLport support contracts as well as custom development and other consulting services. You may reach us at consulting@stlport.com.

Table of Contents


Copyright 2001 by STLport