NexentaStor is a OpenSolaris (not yet) illumos-based storage appliance that I use at work. Nexenta Systems builds a ZFS storage appliance OS that can be installed on whiteboxes that may also have been validated previously to run it. They sell their appliance software as 'Open Storage appliance'. So is OpenStorage = OSS? Actually I prefer Open Source over proprietary software, I try to develop a possible definition out my experience I had until yet with NexentaStor:
Why NexentaStor?
Back at that time Oracle had just stopped selling OpenSolaris support and the outcome of OpenSolaris was too uncertain for a new production deployment. The features were appealing, ZFS and COMSTAR offered the stability and functionality I wanted to have and the Solaris kernel provided unix stability. Linux didn't offer such thing as well integrated - BTRFS ist still not considered stable enough for production use today (maybe SuSE and Oracle will jump in soon?), LIO target in Linux now has stable iSCSI target support (wasn't true back in early 2010) and FC support is still yet complete to my knowledge.
What about the license?
But if you look at the license of the free as in beer NexentaStor Community Edition? - No. Their Enterprise Edition? No, both are traditional End User Licensing Agreements that don't contain access to source code of the product - only to the parts of the NexentaOS that require them to make source available.
Originally NexentaCore was understood an promoted as the building rock for NexentaStor, the commercial operating system. This distribution was not only freely available but source packages were made available as well as (most of?) the patches Nexenta applied on top of the OpenSolaris source release they used to build NCP. Some of them were not part of OpenSolaris, most of them consisted of backported patches from later bi-weekly code drops from Sun. Curently after not really maintaining or keeping in sync NexentaCore with NexentaStor OS base it's planned to deprecate and stop the availabiliy of this GNU-like OpenSolaris OS.
Open core
NexentaStor could be considered being NexentaCore that has a value-added storage management system on top. Nexenta decided to keep that development effort in their house and to not open source this. Thus the current NexentaStore product as sold is 'open core' because "specific functionality (are blocked) from being in [the] open source “core”.* As such I agree that open core doesn't differ from traditional commercial closed source software in that terms.
So why not use a closed solution directly if OSS would not fit (yet)?
Actually the basic functions like CIFS, NFS and iSCSI are available in other open source distributions quite equivalently (excluding some tuning that Nexenta may have added). Paying for a friendly GUI, bundled hardware and performance monitoring looks worthy to mee - essentially all most of those monitoring and tracing be achieved from the console or by using the available code to extend it as did Nexenta.
What is being kept away from the open are enterprise features like HA, continuous replication etc. As long as their ZFS implementation the NFS, CIFS and iSCSI, FC (COMSTAR) implementation stay compatible to access thate exact data on the compatible ZFS with at least one other open source solution I'd consider the term Open Storage is not wrongly used.
Trying to find a definition:
Currently (I'd be happy to) understand the term 'OpenStorage' as coined and used by Nexenta as follows:
- There is at least one other openly available operating system where you can import your (pool )data without the requirement for copying your data to new filesystem
- There is at least one other openly available operating system available where core functionalities to keep your data accessible (NFS, CIFS, iSCSI, FC...) without conversion (except some configuration settings that may be converted or re-worked)
- Full feature parity or compatibility ouside of core functionalities to import data, access and provide data access is not required or guaranteeed (HA features, continuous replication etc.)
- Hardware compatibility to move off from NexentaStor to the open OS doesn't necessarily mean entire hardware compatibility but if Nexenta would start to make their OS work too much hardware that works with no open equivalent with, the first point cannot be fullfilled.*
To my understanding currently OpenIndiana, StormOS and to some limited extent SmartOS (not easily installable) and FreeBSD (no fully equivalent target mode) fullfill these requirements. The illumos project where Nexenta upstreams lots of their efforts shows they seem to be serious about staying compatible with the open source (Update: In fact Nexenta has also strenghtened their investment in the distro area where with illumian). So this unofficial definition would stay valid.
*Puppetlabs has an good definition of Open Core, see http://puppetlabs.com/puppet/faq/