Re: chapter next
LacaK <[email protected]>
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <[email protected]> |
Nice written text :-) Thank you. -Laco. > Greetings All, > > I want to let everyone know just a little news about the FreeTDS > project from my perspective. > > Frediano has agreed to be the Project Maintainer and is in the process > of acquiring the requisite keys to the kingdom. It's fitting; no one > has done more to make FreeTDS what it is today. > > I have faith that Frediano won't pull up the drawbridge, not that I mean > to cross it very much. I know he's interested in fixing the overnight > snapshot process, and in more frequent releases. There's quite a bit > of new functionality in the current development branch that I'm sure > will be welcome in a new release. > > It's been quite a ride. The oldest FreeTDS message in my personal > archive dates from 2001, the first year of the Bush administration. In > those days FreeTDS was very much a work in progress. There was only > primitive BCP (no freebcp), incomplete type conversion, just the most > essential functions. The most frequent error was a TDS parsing error > about invalid stream state, leading immediately to exit(3). > > I remember an early bug report that said char-> int conversion failed > to read the last character, leading to the mother of all off-by-one > errors: off by one order of magnitude. I think that was the day I > decided to jump in with both feet, starting with an all-to-all db-lib > type conversion test. :-) > > Even though my name is on a lot of email messages, I don't lay claim to > most of the code. Much, much more was done by Brian & company in the > early days, and later by Frediano and Bill Thompson. There are many > more names, most of whom are acknowledged. It truly was a collaborative > effort. > > Many people outside the free software community -- and perhaps you, > dear reader -- wonder why someone would devote his time to programming > without getting paid for it. I have one answer. > > My answer is simple, if surprising: selfishness and unselfishness. > > Why does anyone pursue any hobby? For the pleasure of mastery and > discovery. I knew there was this thing called "Linux" happening, and I > knew from Unix that "ls" meant "dir". I knew C, and how > packet-switched networks work (but not tcp/ip). And I knew enough > db-lib to be dangerous. Why not try my hand at FreeTDS as a way to > learn things and build on what I knew? > > In my first message to Brian Bruns I offered to write a user guide. At > the time there was a FAQ, but anyone starting out pretty much had to > join the mailing list to learn how to set things up. I didn't know > what the documentation had to *say*, but I could take Brian's notes and > convert them into a proper document. In the event, he chose the doc > technology and wrote the first draft. I tidied up some of the wording > and added to it whenever a question arose on the list. Over the years > it's come to meet my goal: seldom do we see questions on the list about > how to compile the code or connect to a server. > > I answered people's questions to further my knowledge. How to convert > character sets? How to discover the server? How to test the setup? I > added to the documentation and to tsql to make answering those questions > easier. As time went by, the questions got knottier: why does function > X crash? Why did bcp not upload the table? > > Besides improved logging, I went through every db-lib function -- and > every published db-lib error message -- to make sure any misuse > returned an error and called the error handler. Every documented > message that can be produced *is* produced, somewhere in the code. > Eventually I learned enough (especially from Richard Stevens) to do the > very hard work of fixing the communications stack top to bottom, so > that timeouts actually work as specified. > > In the process of answering questions and investigating problems, I > learned a whale of a lot about operating systems, standards, networks, > and the many sundry things Unix teaches about tooling and > architecture. It is said, "It's amazing what a man can accomplish in > 10 years." For myself I know that's true: When it came time to make a > career move a few years ago, it was FreeTDS that underpinned the > change. > > Thus did the fledgling fly the coop. > > My work nowadays doesn't involve FreeTDS or SQL Server, or very much > database work. My technical interests have changed, too; having > learned (I would say) what FreeTDS has to teach about clients, I've > gone to the other side, to the server. More on that another time. > > Meanwhile, the FreeTDS project is dying on the vine. One maintainer > does not a project make. Microsoft keeps moving the gateposts. > Required functionality changes. Microsoft now has its own > closed-source ODBC driver for (some kinds of) Linux. The open-source > door to SQL Server is closing, will close without sustained effort. If > you see some of your story in mine, I suggest you consider lending a > hand. Only doing is knowing. You never know where it might lead. > > I should mention one unexpected pleasure of participating in this > community: the number and kind of wonderful people I meet, many of > whom I learned from and count as friends. They help me, as the old > Irish prayer says, to work to change the things I can, to accept the > things I can't, and to recognize the difference. Plus, they're fun to > be around. Sometimes I make them laugh, too, sometimes intentionally. > > I'm human, and as much as anyone I'd like to be showered in leis and > buried in praise, whether or not deserved. I'm glad to have played a > part in bringing FreeTDS along as far as we have. I will not claim, > though, that I did it all for You. I did it for me, and you happened > to benefit. So thanks, and you're welcome. > > --jkl > _______________________________________________ > FreeTDS mailing list > [email protected] > http://lists.ibiblio.org/mailman/listinfo/freetds >