With CouchDB and JSON, you can use it from any language, but if you’re using something like Gemstone from Smalltalk to instantiate one of those objects, you’re going to have to call it from Smalltalk. If you’re going to access it from something else, you are going to have to write an access wrapper.