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.
STLport story continued
by Petr Ovtchenkov
In the middle of 2003 I join to the project as developer with admintration rights. During 2003--2004 we put in order CVS repository, suitable for public exposition and regular development (CVS reposiory became in coherence with shipout tarballs; was introduced explicit development lines).
But in the later 2004 project at www.stlport.org begin demonstrate signs of stagnation: problems with maintenance of source code, information on site not correspond to code, etc. To resolve problems of such kind, we made agreement about transition of development on the SourceForge.
Whole CVS repository was relocated from cvs.stlport.com to SourceForge CVS, so both CVS masters was the same at 2005-08-27.
The main reasons for transition of STLport on SF was:
- More opportunities for site maintenance---the consistency of site's content and real development
- More efficient codebase control
- Presence of 'Compiler Farm' on SF
- Better communication services
Year later, 2006-08-15, we shift from CVS to SVN (code repository was converted, so current SVN repository track sources since December 2000).