Thursday, February 16, 2012

Employing OSS as part of successful product

I recently attended a webinar given by Oliance Group on the success factors for use of OSS. Whilst the webinar concentrated on one particular organisations' experience, the following are my 10 points of note which should apply to any product based organisation using OSS.

  1. Innovation with OSS traditionally comes from the community or vendors (where commerical success can be gained). However there is increasing innovation emerging from customers, partners, academics when OSS is used as there is an increase in collaboration as the wider benefits of OSS are now being recognised.
  2. OSS is increasingly being used in non-differentiating aspects of products. A good example is the GENIVI alliance which provides an open source in-vehicle infotainment toolkit where there is non-differentiation in manufacturers products.
  3. Most product organisations have recognised that it is futile to prevent OSS being used within its products and have now focused on how to best harness the benefits and opportunities that OSS offers. It is essential that the consequences of redistribution is understood when OSS is included as a component within your product - this requires a good understanding of the licences with a preference to use components released under one the permissive licences (Apache 2.0, MIT, BSD) over the copyleft (GPL family) licences. The use of some OSS components has helped its customers, partners etc in adopting and developing new products.
  4. Use of OSS components/products should  often result in enhancing and fixing bugs as well as before contributing back into the community. Internal developments may benefit from being released into the community if it is a non-discriminatory development as it will re-energise the component with a better product emerging.
  5. Use of OSS must not diminish customers needs for relaible, quality and secure products. Whilst OSS may offer benefits in terms of reduced development timescales, not all OSS is good and careful selection is required before it can become a key component within a product. The selection process is key to future success and in addition to assessing the licence requirements and component maturity, there needs to be an assessment of the functional fit to ensure that the OSS component is compatible with the overall product architecture and its intended use (e.g. embedded, linked, modified).
  6. Governance policies are required with regards the use of and the contribution to OSS components. All stakeholders must fully understand the approach (there are too many misconceptions about use of OSS by senior management that this needs to be carefully managed). Product owners and architects must be educated and informed about all OSS usage. A knowledge base of approved porducts (and versions) should be actively maintained to avoid a proliferation of different versions (of the same product) and similar products (providing equivalent functionality).
  7. Synchronising product release cycles with that of OSS products can be problematic particularly if the OSS components are released frequently to address bug fixes/security fixes. It is recommended that product release plans are aligned with OSS components (knowledge of the roadmap for each OSS component is therefore essential for this). As products often have long term support requirements, there also needs to be some guarantee that the OSS components are compatible with the same support requirements.
  8. Product standards may need to be harmonized across multiple components, particularly if a UI is involved. Also a consistent approach to security should be adopted (e.g. particularly if SSO is used/required) across both OSS and internal developments. OSS components must be actively monitored for vulnerabilities and fixes applied appropriately.
  9. Support for each OSS component is important, particularly when long term support is considered. Options include do nothing, but this is only of the OSS component is very mature and stable; develop skills internally; establish a maintenance activity by active engagement within the OSS community; or employ a 3rd party support service
  10. Use of an OSS component within a commerical product must ensure that the organisations's intellectual property is protected and that market discriminators remain.

Sunday, February 5, 2012

Windows 8 - Keep taking the tablets


So should I try the Windows 8 beta when it become available next month? That was the question following a very honest presentation given by Mike Halsey about the forthcoming Windows 8 operating system to the Manchester branch of the BCS. After having a few days to think about it, I can't see many reasons for upgrading from my current Windows 7 setup (and various Linux distributions running as virtual machines and an Android smartphone). This is very different to when Windows 7 came out, as it was a significant improvement from Windows Vista - I used the Beta version on my main machine until it was officially released when I then upgraded all of my machines to Windows 7.


Whilst there are probably many significant improvements behind the scenes, including support for new and emerging technologies such as USB3 and Thunderbolt, Windows 8's main evolution appears to be with the user interface, and the introduction of the new Metro interface. Mike had a pre-beta version of Windows 8 loaded onto a tablet and having a quick play on the tablet (start up time from cold was most impressive), the user interface was very similar to both Android and IoS. However, one significant change was that the application icons (or tiles as Microsoft would call them) could be different sizes and could also be live (so that they could show the weather or a stock price) without having to launch the application. This was first launched on the Windows Phone but I still think that this was a neat idea (although there are now similar products available for both Android and IoS).


2012 is clearly going to be interesting year for operating systems for tablets with Google's Ice-Cream sandwich (aka Android 4), Apples's latest IoS and Microsoft's entry in tablet space (Windows 8). There is clearly room for all of them but it is now very clear that operating systems that cater for  tablets must also work seamlessly with smartphones and other devices. With Microsoft being the last to release a tablet based OS, they are clearly playing catch-up and their success will clearly depend on the quality and takeup of the Apps in the recently announced Windows StoreWindows 8 is blatantly aimed at the consumer market, and is clearly trying to be a common platform across a variety of different platform types (desktops/laptops, smartphones, tablets and games consoles). This is is a bold strategy which no one has yet mastered. It is also promoting connected 'experiences' (with the cloud being a key part of the strategy) and clearly expects a 'touch' interface to become increasingly the primary form of interaction. Having said that, I understand it is still possible to get to the good old DOS window so that traditional user interface (command line) can still be experienced.


Will Windows 8 be a success? I don't know, but I think Windows 9 (scheduled for late 2015) might be the better bet as it will have the benefit of seeing how the integrated desktop/smartphone/tablet/games console world works. Microsoft are clearly betting on trying to develop a platform which can be common across a range of platform types, a laudable aim which will certainly deliver benefits in terms of product management (assuming it works!). However, I can't see any attraction for large corporates, many of which have yet to migrate from Windows XP. A big problem is in the application space in which applications developed specifically for Windows 8 cannot be run on Windows 7 (or predecessors). It was not clear to me if existing Windows 7 (or earlier) applications could run on Windows 8; if not this will be a huge mistake unless Windows 8 apps becomes priced at typical app prices (i.e. free or typically less than £1) rather than the several £100's that Microsoft applications typically cost.


Will I download the Windows 8 beta when it is available later this month? Maybe but only out of curiosity and it will be running on some old equipment as it don't see it as replacement OS for my primary machine.