Domain: sleepycat.com
Stories and comments across the archive that link to sleepycat.com.
Comments · 87
-
Re:Berkeley DB back to first tier please!
Once upon a time, MySQL supported the use of Berkeley DB as one of its back end storage engines. Then Oracle acquired Sleepycat Software, the makers of Berkeley DB (which was, and still is, open source). MySQL didn't like the idea of Oracle controlling their back end, so they phased out its support.
If that had actually been our motivation, we would have axed InnoDB as well.
As Brian Aker says in the linux.com article you cited (but apparently didn't actually read), we were *already* planning to drop BDB due to lack of interest; something like 0.03% of all MySQL users who responded to our polls said they were actually using BDB, and most of those indicated that it was not mission-critical.
-
Berkeley DB back to first tier please!
Once upon a time, MySQL supported the use of Berkeley DB as one of its back end storage engines. Then Oracle acquired Sleepycat Software, the makers of Berkeley DB (which was, and still is, open source). MySQL didn't like the idea of Oracle controlling their back end, so they phased out its support.
Now it doesn't matter anymore. Oracle is going to own MySQL and Berkeley DB. In my opinion, Berkeley DB is the finest storage engine on the planet. Either with a relational/schema layer on top of it (like MySQL), or all by itself (in which case it's simple key/value pairs), it is insanely reliable and its performance is excellent. I can't say enough good things about it. So how about it, Oracle? Can we get these two great pieces of software together again? -
Major flaw in the build-process
This does not affect the users directly, but it is a major pain for integrators/porters. OO.o has a terrible habit of bundling all of the 3rd-party software packages, that it uses, into its own source tree. I'm talking about (probably missed some):
- agg
- bash
- bitstream-vera
- bsh
- bison
- boost
- curl
- db42
- dmake
- expat2
- freetype
- icu
- jpeg
- firefox (or some other Mozilla-based browser)
- libmspack
- libsndfile
- libtextcat
- libwpd
- libxslt
- neon
- nss
- nspr
- python
- sane-backends
- STLport
- unixODBC
- unzip
- vigra
- xmlsec1
- xt
- zip
- zlib
If they could, I'm certain, they would've bundled Java too, but — fortunately — Sun's license prohibits that... Now I realize, that this is done to offer "a single package" to those, who build it on their own, but nobody does. Everybody gets these from their OS' integrators. And the pain for us is enormous, because to force OO.o build to stop its silly ways is a serious undertaking. For some of the above packages there is --with-system-foo configure-flag, but not for all, and the default is to always use the bundled one, so support for the external ones bitrots quickly...
Most of the local builds don't bother and so end up wasting disk space and CPU-time rebuilding packages, which are external to OO.o. The end results are also bloated, duplicating stuff, that's already installed on the users' systems and without bug-fixes, which have already gone into each of the respective package since its most recent "bundling" into OO.o tarballs.
Download a source tarball and see for yourself... Something like: tar tjf OOo_OOG680_m9_source.tar.bz2 | grep 'z$'. No other software project does this on this scale and for good reasons — it is Just Wrong[TM]. OO.o better clean up their act in this respect...
-
Re:Wow, that's a big fat ASS^H^HPI
Have a chip on your shoulder much? Most of what you're saying is simply incorrect. e.g. Java does not have half-a-dozen containers. Yes, the switch from the STL-inspired Vector to the more Java-ish ArrayList was annoying. Same with HashTable to HashMap. But beyond that, all those different containers you think you see are actually interfaces for wiring up complex functionality. Either that or completely different data structures with different performance characteristics. (Remember your CompSci courses?) The Java Collections package (which seems to be the only thing in Java you're remotely familiar with) provides enough functionality to write a complete database engine. Which, as a matter of fact, has been done quite a few times. (Sorry, ran out of words to link. Doh! Still more. Ah, to hell with it.)
The rest of the Java API is also not bloat. There are libraries for printing, crytography, sound, graphics, DOM, file I/O, text parsing, text formatting, text display, mathematics, directory interfaces (e.g. LDAP), distributed object systems, reflection, security, SQL database interface, logging, cross-platform preferences, regular expressions, ZIP/GZip support, accessibility, networking, the compiler, scripting engines, etc., etc., etc. Very little of the core API is redundant, with most of the (few!) redundancies being a result of the early days of Java before they moved away from the C++ style objects.
Nearly all of the post-1.0 APIs were done correctly the first time. Which means that the core Java API is actually quite slim for the amount of functionality it provides. And even then, there is a HUGE number of official expansion APIs for mail, multimedia codecs, network request/response handlers (e.g. servlets), 3D graphics, 3D sound, text-to-speech, speech recognition, telephony, SOAP, REST, USB, Bluetooth, scientific units, cross-platform desktop integration, Instant Messaging, P2P, and quite a bit more. And that's just the official JSR-approved expansions! The OSS and (bleh) commercial worlds are full of unofficial libraries to deal with nearly any problem you can come up with.
If you want bloat, stop looking at Java. Try compiling a few Linux apps sometime and tell me how many redundant libraries you come across. If you know what they all do (which is a miracle in of itself), compiling just ONE of those programs is enough to make a person blush with embarrassment. Not to mention that when a platform IS solidified (e.g. GNOME), it suffers from versionitis. (i.e. The constant need to upgrade your version of the libraries because this latest program no longer targets the version you just compiled. Or even worse, it requires a specific minor release, thus requiring you to have multiple minor releases of the library compiled and installed.) I won't even go into Microsoft's practice of inventing a new API for the same technology over, and over, and over again. (ODBC, DAO, ADO, JET, anyone?)
Now I happen to think that a lot of the choice that Linux offers is good. But don't point fingers at other platforms when there are more than enough examples of far worse situations close to home. -
Re:Of Course That's the Point
From the point of view of the manufacturer, they will have to go to the owner of the copyright of the code in question, and negotiate a seperate license.
For example:
http://www.sleepycat.com/company/licensing.html
http://www.trolltech.com/products/qt/licenses/lice nsing/licensingoverview
http://www.artifex.com/licensing/index.htm -
Re:Sweet!
From your reply I'm not sure whether you're asking about a single record or the entire database.
Each record is loaded into cache separately, and records are evicted when the cache is full according to an LRU algorithm. The total size of a database can therefore exceed the size of main memory and swap.
But for a single record, in most cases it is completely loaded into cache, even when a partial get/put is performed. Even when using memory mapping with the BDB C Edition, in most cases the complete record is loaded. This is why we say that there is no special support for BLOBs in BDB.
If you have further questions, please post to the BDB newsgroup for questions on the C Edition, or the bdbje mailing list for questions on the Java Edition, or to support@sleepycat.com for either product. I'm afraid I will miss your reply if we continue to discuss this here. Here are links for posting questions:
http://dev.sleepycat.com/community/discussion.html
Mark -
Re:Sweet!Hi Mark, thanks for taking the time to respond!
There are no restrictions on accessing partial records in BDB Java Edition -- it is the same as the BDB C Edition in this respect. However, you may have a misunderstanding about the way partial records work in both products: neither product has a BLOB capability.
Well that's not so good. I was under the impression that BDB was able to easily handle large binary chunks up to 4GBs in size. From this page:Because both keys and values can be up to four gigabytes in length, a single record can store images, audio streams, or other large data values. Large values are not treated specially in Berkeley DB. They are simply broken into page-sized chunks, and reassembled on demand when the application needs them. Unlike some other database systems, Berkeley DB offers no special support for binary large objects (BLOBs).
So as long as the data stayed small enough for BDB to address (i.e. <4GB), I thought that BDB was supposed to only load into memory the requested chunk of data. Was this an incorrect assumption? If so, how are large data sets handled on systems with limited memory? On many of the systems that BDB has traditionally been deployed on, it wasn't unusual for several hundred megs to be too large for main memory AND swap space combined.
It seems to me that BDB should be using memory mapping to force the operating system to manage memory chunks for it. Which would allow BDB to handle data sizes far above the total available memory. I thought that BDB already did this?
Anyway, thanks for your help! -
Microsoft uses BDB (and therefore Oracle), tho
Microsoft's new Groove product uses BDB. Pretty fun pointing out to them that MSFT depends on Oracle for scalable database work.
-
Re:Sweet!
In case anyone else is interested in this, the JavaDocs appear to make no mention of the previous limitations BDB imposed on partial records. Can anyone else confirm that BDB no longer loads the entire record to read partial records? If so, I have a few multi-gigabyte uses that this would be perfect for.
:-) -
Question
I don't know anything about InnoBase but I do use BerkleyDB (as part of Bogofilter) and I know that Sleepy Cat dual licenses it under a commerical and an OSI approved open source license. While I understand that Sun could try and close the BerkleyDB source code, wouldn't MySQL be able to fork it and continue on their own?
I looked at the license for BerkleyDB and didn't notice anything that would prevent forking. Am I wrong?
http://www.sleepycat.com/company/oslicense.html -
Re:Two MySQL backends owned by OracleThe Sleepycat DB is BSD licensed, if I'm not mistaken.
You are indeed mistaken. The original BDB was BSD licensed, however Sleepycat's fork is only available under more restrictive licensing terms. If you use the Sleepycat Public License then you must release your code under an approved Open Source license. If you want to distribute an app that uses BDB without making it Open Source, then you must pay for a license. See their licensing page for more info.
-
Not open source? Since when?
It fails the very first part of the Open Source Definition because non-open-source products have to buy a (rather expensive) license.
If that's true, then how did Sleepycat's license get OSI-certified? -
Sleepycat responds
I'm Mike Olson, Sleepycat's (now former!) CEO. I've taken a job as VP at Oracle working on embedded databases. Our entire team has come along.
I've posted a summary of this announcement on the Sleepycat blog, at http://blog.sleepycat.com/2006/02/next-ten-years.h tml. I understand that a big vendor making a series of acquisitions in open source causes concern, but I'm convinced that the plan is as outlined in my posting. We're all showing up for work every day and working on the same embeddable database technology as ever. We're continuing to close deals with new customers and to support old ones. We continue to work closely with open source users.
There's lots of speculation that this move is intended to damage MySQL. I frankly don't see it; MySQL doesn't depend on Berkeley DB. It never did. We've always had a close and cordial relationship with those guys, but both businesses have always concentrated on our own customers and markets. We may have wished, sometimes, that we collaborated more closely, but we never did.
We've been good members of the open source community for a long, long time. We're pleased our software is so broadly used, and we're proud of the projects that rely on it. While I understand the concern, here, I'd ask that you watch what we do. I'm confident in the future of our products and of open source. Give us time to show you what Oracle and Sleepycat can do together. -
Re:I like the press release from Oracle
That's supposed to be funny?
I know there is a PAM userdb module that embeds Berkeley DB, and at least in the past even some device drivers did.
According to the Sleepycat Web site, all versions of Linux embed some version of Berkeley DB, as do all versions of *BSD. -
Says the Noob...
According to the license here,
Q: What must I release as open source?
A: Under the open source license, you must release the complete source code for the application that uses Berkeley DB, Berkeley DB Java Edition or Berkeley DB XML. You do not need to release the source code for components that are generally installed on the operating system on which your application runs, such as system header files or libraries.
Would that mean that Oracle would have to comply with that license, and release source for whatever they use it with? Or are they allowed to change the sleepyCat license? -
Re:Other storage engines compared
The BDB handler could be updated, and I don't think that would be that much of a problem. As for Berkeley-DB itself it is (very) actively developed (http://www.sleepycat.com/) and it is surely more widely deployed and more stable than InnoDB (Berkeley-DB has 200 million deployments compared to only 5 million MySQL deployments). As for the "huge performance cost", I really doubt there is such a thing.
-
Re:XML database
Try: http://www.sleepycat.com/products/bdbxml.html As I recall, it is open source as long as your application is also open source (or used purely internally). Bit like GPL, but under their own license
-
Re:Largest DB Vendor in the world
Sleepycat has more installations than all the rest of them put together, probably by at least an order of magnitude. I mean, as long as we're throwing about useless metrics...
-
Re:KISS
Berkeley DB, I'm guessing. And the buzzword de jour is "buzzword".
-
Sleepycat?
To me, this entire article reads like a plug for Sleepycat, written, not surprisingly, by a Sleepycat person.
Relational data model is just that -- a data model. It doesn't concern itself much with implementation (and therefore, performance in any particular environment) or with how applications use the data. And that's really the point -- relational databases are application-agnostic. They are designed to store the data that will be possibly accessed by applications that are not yet conceived. That's the reason they put great emphasis on internal correctness of the data. Once you have a database specialized for one application, that's not really a database in the relational sense -- that's a way to persist your application data. And that's where Berkeley DB shines. It doesn't replace relational databases, it just serves a totally different purpose.
-
Sleepycat?
To me, this entire article reads like a plug for Sleepycat, written, not surprisingly, by a Sleepycat person.
Relational data model is just that -- a data model. It doesn't concern itself much with implementation (and therefore, performance in any particular environment) or with how applications use the data. And that's really the point -- relational databases are application-agnostic. They are designed to store the data that will be possibly accessed by applications that are not yet conceived. That's the reason they put great emphasis on internal correctness of the data. Once you have a database specialized for one application, that's not really a database in the relational sense -- that's a way to persist your application data. And that's where Berkeley DB shines. It doesn't replace relational databases, it just serves a totally different purpose.
-
According who WHOM?
According to the ACM...
No... Acording to Sleepycat, who have a great name and logo, but an otherwise very annoying data store.
-
From whence doth your vision stream, Olson?
Olson should know. He is one of a select few looking to review the current GPL and recommend updates for the public review process, which he says should happen before the end of the year.
Right, so Mike Olson is one of an infinite number of people who can read the current GPL and recommend updates by mailing licensing@gnu.org for public review. Obviously this makes him an insider. (Congratulations! If you're reading this, and can click or right arrow on two links, you're an insider too!)
Perhaps he's just managed to read the Affero General Public License v1 and has decided that that's the way that the GPL v3 is going to look? But apparently he hasn't already read the coverage of this rather crappy license that debian-legal gave in 2003 and then informed the FSF (and RMS), explaining that it couldn't possibly be DFSG Free, let alone satisfy the 4 freedoms?
Oh, right. Must not have actually checked all that out. Gee, does Mike Olson even use the GPL at all? Why would he be reviewing it anyway? Well, lets see: hrm... this sure looks like the 3 clause BSD license to me. Yerp. No GPL in sight at all. Ok, so someone who doesn't even use the GPL, (to my knowledge) isn't a lawyer, and isn't a prominent member of the copyleft side of the Free Software movement is reviewing a license that no one else has seen?
I mean, I can understand slashdot editors missing this bit of trivia in their rush to approve/reject a story... but surely Michael Singer at internetnews would have bothered to actually check if Mike Olson was the "insider" he was claiming himself to be? -
Re:I call bull
"closed source has no real advantage on open source." -->Except for that little thing called "Developers getting paid"...
Since when does being "closed-source" mean "getting paid"? Yes, many companies base their model on closed source. Many others base their model on open source, and make plenty of money.
So wake up and smell the coffee! Times change, and your FUD-like statements are just so provably wrong.
Didn't you see the article yesterday on how open source drives down the cost of startup?
Don't imply F/OSS isn't good for business. It's just not good for your limited understanding of business. -
Berkeley DB XML
I haven't tried it, but the regular Berkeley DB is highly regarded, and both are open source and (depending on your situation) free, so it is definitely worth a look.
Berkeley DB XML 2.0 -
Re:F/OSS Databases
Ah, I even found the link for it... It is not a server either. It is more of an embedded database API which deals with the things you don't want to deal with in your everyday coding-life. It is a great thing to use if you can live without SQL. Also comes with Java versions.
-
Re:F/OSS Databases
Out of curiosity, what other kind of DB is out there that isn't an RDB(MS)? Edgar Codd's system has been working pretty well, and though there are other systems, I don't know that there's huge demand for them. You're not contradicting that, but I wonder what you were thinking of.
Berkeley DB is not a relational database and is among the most used databases in the world. -
Re:What the?
Why not use Berkeley DB for the little weblet serving Quick & Dirty templated views from a semi static content bucket. It's even javaized now...
Actually I'm curious to hear from anybody using the thing... -
Sleepycat Berkeley DB Java Edition
Hello,
I applaud IBM for OpenSourcing Cloudscape. Always good to have different alternatives, that are suited to different needs. For people looking for Java embedded databases, in addition to Derby, there is also Berkeley DB Java Edition that you might be interested in. I don't work for sleepycat or have any connection to them or their products. I just remembered seeing this product awhile back and it came to mind when I read about Derby.
Anyhow, thought I'd toss that out for those interested in embedded DBs in Java. There might be very valid reasons for picking Derby over BDbJE, like some have mentioned that Derby and DB2 use the same client libs so it's easy to scale from one to the other. There may also be compelling reasons to pick BDbJE in some circumstances. Haven't used either so I can't, personally, offer an informed opinion. -
Re:Apples and oranges
Based only on your list, I would have looked at an embedded database like HSQL or Berkeley DB. These would have been less intensive on your target machines, faster performing, more secure (no network connection), and easier to install. Unfortunately, I can't give a realistic recommendation without knowing more about the application.
Your specs could even be met with databases like PostgreSQL, Firebird, Xindice, and quite a few others. -
Re:Apples and oranges
But what are these alternatives you mention that are so much better suited for every possible scenario?
There is, of course, no tool that meets the needs of every possible scenario. Instead, there are tools that meet the needs of common scenarios. Most of what MySQL is being (improperly) used for could be easily replaced with PostgreSQL. Postgres offer similar performance, but takes a minor hit for data integrity. As a bonus, you gain sub-selects, stored procedures, SQL-92 compliance, and other features of a "real" SQL database.
MySQL is quite decent for something like a blog, but why even bother with a complete server in those cases? An embedded database such as Berkeley DB or HSQL (formerly Hypersonic) would provide better performance and would get rid of security issues inherent in running a complete database server.
In still other instances, SQL databases are misused for large object data storage. In many of these instances, an Object Database such as ObjectStore (or your favorite open source choice of the 1000+ options) will provide better performance, without sacrificing much in the way of database management. (Standard database management tools are usually insufficient for dealing with databases containing large amounts of LOBs.)
Basically, the choice in database and database technology should be carefully weighed against the application instead of saying "I know SQL and MySQL is 1337!"
Some other database options include:
DaffodilDB
SAP DB
FireBird DB
Cloudscape (Soon to be open source)
Xindice (XML Database)
ObjectDB
DB4O
Prevayler -
Re:Perhaps it's just a bad idea.
Oracle sure did try a database for their mail server. And they kept right on using it. Sun uses one (Berkeley DB) for their mail, calendar and other app servers. So do other vendors.
http://www.sleepycat.com/solutions/customers.shtml
In reality databases can be the right solutions for all sorts of problems - and cause a few as well. -
Re:Database Questions
Berkely DB AKA libdbX.
-
set nitpicking = on
MySQL Cluster combines the world's most popular open source database with a fault tolerant database
It's nice to start out a press release with a lie, isn't it? As far as I know, the title of the world's most popular open source database (meaning it has the most installs around the world) belongs to the Berkley DB. -
Re:Self Promotion, and Incoherent Policies
The book may be flawed in that it doesn't look at other toolkits, but I don't think that his motivation is to sell cryptlib, which is available "under the GPL-compatible Sleepycat dual license, which means you can use it under the GPL terms or under standard commercial terms, depending on your preference." [http://www.cs.auckland.ac.nz/~pgut001/]
-
Re:database is a dependencyFor example, I know that the UNIX file system can easily and efficiently handle files that are gigabytes in size (because lots of people are using UNIX file systems that way), but I have less confidence that Berkeley DB can handle many records well that are that big.
From Sleepycat:
Databases up to 256 terabytes
4G/256T is big enough for most applications... FWIW, Subversion allows different backends, however no others have been written yet.
Berkeley DB uses 48 bits to address individual bytes in a database. This means that the largest theoretical Berkeley DB database is 248 bytes, or 256 terabytes, in size. Berkeley DB is in regular production use today managing databases that are hundreds of gigabytes in size.
Keys and values up to 4 gigabytes
New applications, including multimedia storage and playback systems, must manage individual data values that are large. Berkeley DB is able to store single keys and values as large as 2^32 bytes, or four gigabytes, in size. -
Making good money with F/OSSIn response to the AC M$ apologist / troll, here are handful of OSS companies. Most offer dual licensing. All make money doing consulting, support and development. You can probably find more with a quick search.
- Apple - Darwin and Safari
- IBM - Linux kernel
- Novell - Netware, NDS, eDirectory
- Trolltech - creators of Qt
- MySQL - major SQL database
- IndexData - networked information retreival
- RedHat
- Sleepycat - dbms
So if you want to know how to make money, look at the experts.
-
What about Berkeley DB?
What about Berkeley DB? Sleepycat makes a simple "database" that sounds exactly like what the poster is looking for in a database.
-
Re:Information on the MER hardware.It's a vfat partitioned flashrom, which has a lot of problems. I don't know why vfat is being used on a mission like this.
VxWorks supports it? Apparently FAT and a PDP-11 filesystem.
Not everybody thinks it's a good FAT implementation.Are there any known filesystem problems?
During the course of our internal testing, we came across three problems with the dosFs 2.0 filesystem that warranted patches from Wind River Systems. We strongly recommend you upgrade to dosFs 2.2, SPR 79795 (x86) and SPR 79569 (PPC) which fixes all of these problems and many more. You should ask Wind River Systems for the patches to these problems if you encounter them and are unable to upgrade to dosFs 2.2.
The first problem is that files will seem to disappear. You should look at SPR 31480 in the Wind River Systems' Support pages for a more detailed description of this problem.
The second problem is a semaphore deadlock within the dosFs filesystem code. Looking at a stack trace via CrossWind, you will see two or more of your application's tasks waiting in semaphore code within dosFs. The patch for this problem is under SPR 33221 at Wind River Systems. There are several SPR numbers at Wind River Systems that refer to this particular problem.
The third problem is that all tasks will hang on a dosFs semaphore. You should look at SPR 72063 in the Wind River Systems' Support pages for a more detailed description of this problem. -
Re:Let the conspiracy theories begin...fmaxwell:
Give me examples of companies which make money primarily by developing and selling open source software. Companies that derive most of their income by selling hardware don't count. Companies that derive most of their income selling support services for OSS don't count. Companies which sell open source software that others developed don't count. Show me companies that developed open source software and then made money selling the same software for which the source is freely available.
Sheesh, you don't ask for much, do you? Sure you don't want to add any more special conditions to that list?
:-)Trolltech is probably the best example, and should be well known to Slashdotters.
Sleepycat Software has been around for quite a while. Someone mentioned it above, but I notice you didn't mention it in your response.
Sendmail - whether you bless it or curse it, it's still the biggest mailserver on the Net. The sheer complexity of the product is probably a big factor in Sendmail Inc.'s success in selling "commercial" versions (for which they also provide support). And yes, the original developer of Sendmail (Eric Allman?) owns/runs Sendmail Inc.
Thought it may be with Sendmail that they make more money out of their support contracts. And if you are a troll (possibly even if you're not), your next move may be to add an extra condition along the lines of "Companies that charge for commercial licensing of their product don't count," which would rule out Trolltech and Sleepycat, as well as probably quite a few others that I can't remember right now.
Though I'd probably think that the Trolltech/Sleepycat business model is the best option for an open-source-software company. At least when you're talking about software libraries that potential customers can only use by linking to - thus invoking either the "free" license (usually GPL-like) or the "commercial" license.
Now if there were a GPL-like license that came into effect when you just used the software... something like that might open a wider scope for a company developing open-source software that could have both a commercial (ie. pay-for) and a "free" license. Hmmm. Interesting.
Pete.
-
SleepyCat RPL ???While most may be comfortable with OSS/FS or FOSS - free software under the GPL & LGPL along with software under various approved open source licenses there are some potential surprises.
The OSI approved SleepyCat license is used with a number of software projects including XAO Apache Web Services and the very widely used dual licensed Berkeley DB software products. The WayBackMachine has a WinterSpeak interview from 2001 with Sleepycat President & CEO, Michael Olson on How to make money with the GPL
...Berkeley DB is embedded in network infrastructure products like routers and switches, DNS and Web content caches, email servers and clients,
With just a few very limited exceptions SleepyCat license payment may be required should one "redistribute" the Berkley DB software, even when just done internally. ... Companies like Cisco, Sun, HP, IONA, Amazon and Sendmail use Berkeley DB. Open source projects like Cyrus, Squid, RPM, Postfix, and MySQL include it.The OSI approved Reciprocal Public License (RPL) while used infrequently is reportedly more viral than GPL, actually extremely viral per Technical Pursuit which dual licenses Tibet potentially requiring payment under TPL Biz licensing when not in compliance with RPL.
Are there other projects, licensing & circumstances of note that might be similarly surprising or problematic to OSS/FS users ???
-
SleepyCat RPL ???While most may be comfortable with OSS/FS or FOSS - free software under the GPL & LGPL along with software under various approved open source licenses there are some potential surprises.
The OSI approved SleepyCat license is used with a number of software projects including XAO Apache Web Services and the very widely used dual licensed Berkeley DB software products. The WayBackMachine has a WinterSpeak interview from 2001 with Sleepycat President & CEO, Michael Olson on How to make money with the GPL
...Berkeley DB is embedded in network infrastructure products like routers and switches, DNS and Web content caches, email servers and clients,
With just a few very limited exceptions SleepyCat license payment may be required should one "redistribute" the Berkley DB software, even when just done internally. ... Companies like Cisco, Sun, HP, IONA, Amazon and Sendmail use Berkeley DB. Open source projects like Cyrus, Squid, RPM, Postfix, and MySQL include it.The OSI approved Reciprocal Public License (RPL) while used infrequently is reportedly more viral than GPL, actually extremely viral per Technical Pursuit which dual licenses Tibet potentially requiring payment under TPL Biz licensing when not in compliance with RPL.
Are there other projects, licensing & circumstances of note that might be similarly surprising or problematic to OSS/FS users ???
-
Re:apache has a project called Xindice
True, Xindice (Apache license, has reached version 1.0) looks good (I've no experience with it), but some of the original developers (Tom Bradford - dbXML, see below, and Kimbro Staken - Syncato, also below) of the source donated to Apache think they (Apache) haven't made the most of it. I don't know if this is true, and I don't know nor have any connections with either Bradford or Staken, but they seem like competent developers; they certainly churn out code - positive sign, right?
There is choice :): Check out Kimbro Staken's weblog Inspirational Technology (who also develops Syncato, an XML database weblog system using Berkeley DB XML.):
Consider Berkeley DB XML (currently at v1.1.0). Built on Berkeley DB and identically licensed (open source, free for non-commercial/development use, etc.); tons of APIs - can't get hold of the link but one of the developers (at least I think so) maintains a weblog of 'all' things Berkeley DB XML. Googleit.
Bradford recently released dbXML under GPL (commercial licenses available should you need it), there's a v2.0 beta available at the site.
Another native XML database is eXist, at version 0.9.2, java-based, LGPL licensed, I've only glanced at it, looks alright though I'm not the guy to say..
Then there're several commercial alternatives - X-Hive, Birdstep, Virtuoso, et al. - but this is Slashdot so..
Well, someone called Ron Bourret has compiled a full-bodied overview of XML databases, and have a big list of XML/DB links too (some link-rot). Goto. -
Re:apache has a project called Xindice
True, Xindice (Apache license, has reached version 1.0) looks good (I've no experience with it), but some of the original developers (Tom Bradford - dbXML, see below, and Kimbro Staken - Syncato, also below) of the source donated to Apache think they (Apache) haven't made the most of it. I don't know if this is true, and I don't know nor have any connections with either Bradford or Staken, but they seem like competent developers; they certainly churn out code - positive sign, right?
There is choice :): Check out Kimbro Staken's weblog Inspirational Technology (who also develops Syncato, an XML database weblog system using Berkeley DB XML.):
Consider Berkeley DB XML (currently at v1.1.0). Built on Berkeley DB and identically licensed (open source, free for non-commercial/development use, etc.); tons of APIs - can't get hold of the link but one of the developers (at least I think so) maintains a weblog of 'all' things Berkeley DB XML. Googleit.
Bradford recently released dbXML under GPL (commercial licenses available should you need it), there's a v2.0 beta available at the site.
Another native XML database is eXist, at version 0.9.2, java-based, LGPL licensed, I've only glanced at it, looks alright though I'm not the guy to say..
Then there're several commercial alternatives - X-Hive, Birdstep, Virtuoso, et al. - but this is Slashdot so..
Well, someone called Ron Bourret has compiled a full-bodied overview of XML databases, and have a big list of XML/DB links too (some link-rot). Goto. -
Query Optimizer in MySQL?last time i checked, mysql has almost no query optimizer. postgres has a pretty decent optimizer.
without an optimizer, your database is nothing more than a glorified record server. if you REALLY want speed for a record server, try sleepycat.
-
Re:Live by the GPL, die by the GPL
> If you are a great coder, have good business sense, and good people skills and money takes a back seat to other things....then the GPL can be a good thing.
Or perhaps you may want to use SleepyCat license, which makes a bit more business sense than GPL in many cases. -
Re:OSS
That's not about OSS, that's the way the industry has always gone. Developers (and software companies) have been being put out of jobs since long before OSS came into the spotlight. There used to be a competitive market in word processors for MS platforms. Now, all those companies that made those products are nothing but a dim rememberance. Remember Stacker? Remember Borland? Remember DRI?
Or, on a more personal note, I once worked for a company that made PC-based point-of-sale systems; we charged a couple of thousand dollars, but that included updates and support. We were very competitive in the market at that time. Then along came a company that sold a competitive product for a couple of hundred bucks (with no support or updates, of course), and our company took a major hit, and had to lay off most of the workforce (including me). But that's just standard free-market capitalism -- offer what appears to be a better product and/or what appears to be a better price, and steal your competitors' customers, maybe even put them out of business.
As for OSS, companies like Trolltech or Sleepycat are using it as a competitive advantage. And last I heard, competition was supposed to be good for the world economy! Of course, it can be painful for individuals who find themselves being out-competed (see last paragraph), but it's still overall a good thing.
The thing you're complaining about has nothing to do with OSS per se; OSS is simply a sign that software is moving from being an expensive specialty market with high margins to being a large commodity market with razor-thin margins. Overall, I think that's a good thing, even though there's obviously going to be a lot of disruption involved.
Finally, consider my first job as a software developer: I got a contract to write a quicksort for a new machine. Nowadays, quicksort is included in the standard C library. Let us take a moment to weep for all those poor software developers who no longer have an opportunity to make money writing quicksort. And then let us move back to the realm of sanity. I don't want to write quicksorts for the rest of my life. I'm tired of re-inventing wheels, just because the older wheels are all proprietary. If you can't find some productive arena to apply your expertise, then maybe you are in the wrong business. Software developers aren't owed a living any more than buggy-whip manufacturers are. When the market moves on, it's time to move with it. -
Berkeley DB...
As I understand it, the *NIX equivalent of Access is Berkely DB. Small, lightweight, stores all its information in a single file. They've got 4 different versions depending on your needs and support pretty much any OS.
-
MySQL + JDBC + ???
I believe that MySQL does ISAM and I know it has JDBC stuff, so I'm thinking that if worst comes to worst, you can convert MySQL's ISAM stuff into Java. However, my gut instinct says that maybe it would be better do to something like use Sleepy Cat's Berkeley DB Java API and write something to convert the ISAM files into Berkeley format.
-
Re:Making a return
SleepyCat (Berkely DB)
Zope Corporation (Zope)
Covalent Technologies (Apache)
ActiveState
I deliberately haven't included Apple for reasons cited above, but Apple is almost as much a software company as it is a hardware company.