Cosm Platforms

When Cosm was born in 1995, there were hundreds of platforms (combinations of CPU and OS) to choose from. IRIX, OS/2, SunOS, NeXTStep, MacOS 9, Windows 95 and dozens more. But most of those have passed away, and all of them were orders of magnitude slower than a modern smartphone. Cosm supported a large number of platforms, each loved in its own way, but going forward Cosm will focus on the platforms that are in common use today.

Operating Systems: Win32, Win64, Linux, Android, OS X, iOS. Endangered species: Solaris, FreeBSD, OpenBSD, NetBSD.

Host CPUs: x86, x64, ARM, ARM64, MIPS, MIPS64. Endangered species: PPC, PPC64.

Extensions like x86 SSE, ARM vector units, and OpenCL are handled through the accelerator framework, and run in or with a host CPU that detects them at run time.

Our Compile Farm – Platforms that Cosm is tested on regularly:

  • Windows: Win32-x86, Win64-x64.
  • Linux: Linux-x86, Linux-x64 (Amazon EC2), Linux-ARM (Raspberry Pi).
  • OS X: OSX-x86, OSX-x64, OSX-PPC (G4 MacBook).
  • Android: Android-ARM (Nexus 7), Android-MIPS, Android-x86.
  • iOS: iOS-ARM (iPhone 4s & iPad).
  • Clouds: Amazon EC2, Microsoft Azure, Google Compute Engine (where available).

The platforms will continue to evolve as they have since 1995. Porting the CPU/OS layer to a new platform has always been a quick process, so adding new platforms in the future will never be a problem. Any software using Cosm can build and run on 99.9%+ of the devices people use today including phones, tablets, desktops, servers, and clouds.

Cosm is Now Under the Apache License Version 2.0

All Cosm® code is now licensed under the Apache License, Version 2.0. The servers, the clients, the CPU/OS and Utility layers – the works. The transition to the Apache License allows a wider base of users to use the Cosm API, libraries, and applications in their own projects.

So why the Apache License 2.0?

We are all big fans of Open Source, always have been, and the legal landscape has change a great deal since 1995 when Cosm began. Back then it was extremely difficult to even construct an Open Source license that worked, with the only real choices being GPL and BSD. After a massive proliferation a few main licenses have survived and flourished. The Open Source Initiative and other organizations exist to promote Open Source. Things are much simpler.

So that leaves deciding which of the major players, GPL*, BSD*, Apache, MIT, CPL, Eclipse or Mozilla. Lots of common ground. The new license for Cosm had to be useable by anyone, including commercial software, since the individual components of Cosm are modular. For example, if you want to use CosmFS in your software, you’ll need a license that allows you to do so. It had to spell out the terms on issues like the patents, use of the Cosm trademark, and giving credit where it’s due, so that there is no ambiguity. It also needed to be compatible with as many other Open Source licenses as possible. At the end of the day and with where we plan to head with Cosm, Apache 2.0 won us over.