CNR (software)
Encyclopedia
CNR was a free one-click software delivery service that was created to make finding and installing Linux software easier. It assists the user in finding and installing software on their computer, it sits dormant in the system tray when not in use.
CNR offered a large database of Linux programs that were suitable for everyday and specialty usage, it was not only available for Linspire Linux operating systems, but other versions of Linux as well.
The service provide the desktop Linux user with an online software warehouse from which they could click on a product and have it installed on their desktop automatically. It required a paid membership of $49.95 to use the service. The warehouse hosted free, non-free
, and commercial Linux software titles. The service relied on a client application to work in concert with Debian
's APT
and dpkg to resolve dependencies and install files.
In 2006 in support of the community, Linspire changed its membership program to a two-tier system of CNR Basic and CNR Gold. Originally introduced as a $19.95-per-year subscription, the CNR Basic membership was later made free and so now user could access free and non-free software without a subscription.
Linspire announced plans on April 24, 2006 to release CNR under a free software/open source license. It could then be used by other Linux distributions.
In early 2007, Linspire announced that they were going expand their CNR service to other distributions than their own, namely Debian, Ubuntu, with future extensions for RPM
). In doing so, Linspire hoped to consolidate and aggregate all desktop Linux software into one service to provide an easier method of finding and installing all software for desktop Linux.
In December 2007, Linspire announced the beta release of their new CNR.com service with support for the updated Linspire and Freespire distributions and for Ubuntu 7.04 Feisty and Ubuntu 7.10 Gutsy (planned for Ubuntu 8.04 Hardy in April 2008).
On March 10, 2008, Linspire closed the legacy CNR service.
The same capabilities to browse and search the library of products with additional capabilities planned to improve the Web Software experience (bookmarking). The community will also have the capability to add new products to the already extensive library of applications available.
The following is a list of the major services and some descriptive information about each one.
Import Service
The import service is responsible for importing package repositories, parsing the package metadata, and matching the packages to products using a complex heuristically based algorithm. The Import service supports any Debian based distribution. RPM based packages can be supported by the domain model with additional work specific to the RPM package metadata schema and release management practices. The import service has a 98% success rate matching packages to products with admin support tools for finding and correcting any problems quickly. This service is responsible for making CNR.com the largest software warehouse for desktop Linux.
Warehouse Service
The warehouse service contains the web services APIs used by external clients to acquire access to and install products from CNR.com. The APIs are open to the public and are SOAP
based. The APIs consist of the following:
The warehouse service also handles product requisite management. Product requisites are user access requirements that must be fulfilled before a user can gain install access to a product. The product requisites consist of the following:
Ecommerce Service
The ecommerce service handles all purchases of commercial software, purchases of member services, and the collection of user acceptance of product EULAs for those products that require such. The ecommerce service is also responsible for handling the DRM
requirements of software that have them, such as delivering activation codes to the user or account registration with ISVs.
User Management
The user management service handles the creation and management of user accounts as well as the authentication and authorization of user accounts and user access respectively. Authentication is managed using LDAP and SSO
is utilized via a token federation service.
Package Management
The package management service handles the secure and non-secure storage of all the packages and provides for the secure delivery for all types of packages: free, non-free, and commercial, making CNR.com the industry leader for delivering desktop Linux software. This service is also responsible for the categorization of each product. The categories are an XDG base with an extended set of CNR categories not found in the XDG set intended to enhanced searchability.
Community Service
The community service provides for the forum, wiki document and blogging features for both the community in general and for each product. Each product has its own mini-community where discussions and self help community support can thrive.
CNR.com Service
This is the presentation layer of the CNR.com architecture and is responsible for providing the Web 2.0 interfaces. These interfaces allow for the following features:
Other interfaces include the product chart that has a refresh lifecycle of once every ten minutes and various administrative interfaces for the overview and management of products and users data.
Support Service
The support service provides for the tracking, managing and resolving of user submitted support issues. It also has a facility for paid support features versus free support features.
Mail Lists Service
The mail list service is responsible for the mailing list enrollment and subscription management as well as the sending of system emails to the user as a result of some user-based activity on the site.
Secure Data
The secure data service is responsible for the secure storage of credit card profiles that the user has elected to save.
Category Data
The category data service is responsible for the storage of the data associated with product categories.
Audit Data
The audit data service is responsible for the storage of user activity records such as installs, client registration, machine registrations, etc.
Product Data
The product data service is responsible for the storage of product specific data as well as the product aggregation data.
Warehouse Data
The warehouse data service is responsible for the storage of package level data and distribution level data.
Resource Data
The resource data service is responsible for the storage of all images associated with a product including user provided images like logos and screenshots.
CNR Client
The CNR client is a desktop client application that interfaces with apt and dpkg on the desktop and with the warehouse web services on the server. It is intended to provide a starting point for the community to build its own variations of client software. The application is written in C++ with the GUI built on the QT framework. API integration is done through the gsoap framework. The CNR client is open source and open licensed so that anyone can use it for their own purposes without any need to license it. Features include:
distribution, the company announced plans on April 24, 2006 to release CNR under a free software/open source license. It could then be used by other Linux distributions.
On January 23, 2007, a "CNR for all" website was launched; however, the launching of the warehouse itself was announced for Q2 of 2007. The release of the new free/open-source CNR client and plug-in is planned to coincide with the release of Freespire
2.0 and Linspire 6.0, both of which will include the free/open-source CNR client and plug-in (this new CNR is known internally at Linspire/Freespire as "CNR 7").
On July 1, 2008, Linspire changed its corporate name to Digital Cornerstone and was acquired by Xandros
. The deal gives Xandros ownership of all Linspire trademarks, patents, and assets, including CNR. It is expected that the CNR client will eventually be made available for Xandros' line of desktop Linux operating systems. In 2009, Xandros introduced a new "app store" based on CNR and includes access to it in their Presto operating system.
, Fedora Core
, Freespire
, Linspire
, openSUSE
, and Ubuntu (Feisty Fawn)
. Support for other distributions was expected starting in 2008.
A test version of CNR 7 was released on July 19, 2007.
CNR offered a large database of Linux programs that were suitable for everyday and specialty usage, it was not only available for Linspire Linux operating systems, but other versions of Linux as well.
History
In 2002, the legacy CNR, or One-Click & Run, was created as a digital software delivery service created by Linspire, Inc.Linspire
Linspire, previously known as LindowsOS, was a commercial operating system based on Debian GNU/Linux and later Ubuntu. Linspire was published by Linspire, Inc. and focused on ease-of-use, targeting home PC users...
The service provide the desktop Linux user with an online software warehouse from which they could click on a product and have it installed on their desktop automatically. It required a paid membership of $49.95 to use the service. The warehouse hosted free, non-free
Proprietary software
Proprietary software is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, while restricted from other uses, such as modification, further distribution, or reverse engineering.Complementary...
, and commercial Linux software titles. The service relied on a client application to work in concert with Debian
Debian
Debian is a computer operating system composed of software packages released as free and open source software primarily under the GNU General Public License along with other free software licenses. Debian GNU/Linux, which includes the GNU OS tools and Linux kernel, is a popular and influential...
's APT
Advanced Packaging Tool
The Advanced Packaging Tool, or APT, is a free user interface that works with core libraries to handle the installation and removal of software on the Debian GNU/Linux distribution and its variants...
and dpkg to resolve dependencies and install files.
In 2006 in support of the community, Linspire changed its membership program to a two-tier system of CNR Basic and CNR Gold. Originally introduced as a $19.95-per-year subscription, the CNR Basic membership was later made free and so now user could access free and non-free software without a subscription.
Linspire announced plans on April 24, 2006 to release CNR under a free software/open source license. It could then be used by other Linux distributions.
In early 2007, Linspire announced that they were going expand their CNR service to other distributions than their own, namely Debian, Ubuntu, with future extensions for RPM
RPM Package Manager
RPM Package Manager is a package management system. The name RPM variously refers to the .rpm file format, files in this format, software packaged in such files, and the package manager itself...
). In doing so, Linspire hoped to consolidate and aggregate all desktop Linux software into one service to provide an easier method of finding and installing all software for desktop Linux.
In December 2007, Linspire announced the beta release of their new CNR.com service with support for the updated Linspire and Freespire distributions and for Ubuntu 7.04 Feisty and Ubuntu 7.10 Gutsy (planned for Ubuntu 8.04 Hardy in April 2008).
On March 10, 2008, Linspire closed the legacy CNR service.
Web Software
CNR also provides access to thousands of Web-based Applications, providing the Linux community with the option of local Linux and Web Software, available through a single source (as of February 2008).The same capabilities to browse and search the library of products with additional capabilities planned to improve the Web Software experience (bookmarking). The community will also have the capability to add new products to the already extensive library of applications available.
How it works
CNR.com is built as a collection of services in what is commonly referred to as a service oriented architecture (SOA). The highly scalable architecture is built using the following JEE 5 technologies:- JSFJavaServer FacesJavaServer Faces is a Java-based Web application framework intended to simplify development integration of web-based user interfaces....
with faceletts - SeamJBoss SeamSeam is a web application framework developed by JBoss, a division of Red Hat.- Seam 3 :Seam 3 is very active project consisting of over 50 developers and engineers, which provides a modular set of extensions to the CDI programming model...
- EJB 3.x
- MySQLMySQLMySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...
- HibernateHibernate (Java)Hibernate is an object-relational mapping library for the Java language, providing a framework for mapping an object-oriented domain model to a traditional relational database...
with JBoss Cache - JBossJBossJBoss Application Server is an open-source Java EE-based application server. An important distinction for this class of software is that it not only implements a server that runs on Java, but it actually implements the Java EE part of Java...
- MavenApache MavenMaven is a build automation and software comprehension tool. While primarily used for Java programming, it can also be used to build and manage projects written in C#, Ruby, Scala, and other languages. Maven serves a similar purpose to the Apache Ant tool, but it is based on different concepts and...
The following is a list of the major services and some descriptive information about each one.
Import Service
The import service is responsible for importing package repositories, parsing the package metadata, and matching the packages to products using a complex heuristically based algorithm. The Import service supports any Debian based distribution. RPM based packages can be supported by the domain model with additional work specific to the RPM package metadata schema and release management practices. The import service has a 98% success rate matching packages to products with admin support tools for finding and correcting any problems quickly. This service is responsible for making CNR.com the largest software warehouse for desktop Linux.
Warehouse Service
The warehouse service contains the web services APIs used by external clients to acquire access to and install products from CNR.com. The APIs are open to the public and are SOAP
SOAP
SOAP, originally defined as Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementation of Web Services in computer networks...
based. The APIs consist of the following:
- partnerLightup – The partnerLightup API provides a UUID MachineID which represents the installation life of a client. The resulting MchaineID is required for other warehouse API requests. This API exists for the purpose of auditing the client usage for reporting back to the originating partner.
- lightup – The lightup API is the same as the partnerLightup API with the exception that there is no build tracking number to record.
- getOses – The getOses API is used to query the warehouse for a list of the supported operating systems. This list is needed when the client cannot properly identify the operating system it is running on and must ask the user to choose from a list of the supported operating systems.
- getDistSnapIndex – The getDistSnapIndex API is used to query the server for the aggregate product information for the specified operating system. This API returns a URI for a payload that contains concise product information useful for searching, sorting and viewing in a client.
- getDisstSnapIndexDelta – The getDisstSnapIndexDelta API is used to query the server for the aggregate updates and deletes for the product information store given for the specified operating system.
- productActionRequest – The productActionRequest API is used to query the server for a download URL for a specific, single product. If the server cannot grant access to the product, a resolution URL will be returned to the client instead so that the request can be resolved and re-executed.
- reportActionRequest – The reportActionRequest API is used to report on the execution of the productActionRequest. This data is used to audit the reportActionRequest API success and/or failure.
- getProductIdsForPkgBins – The getProductIdsForPkgBins API is used for clients on initial configurations or after changing distributions to determine the products that are already installed on the machine. The client can determine all the binary packages currently installed on the system, and then using this API, can match these products against the products in the distribution snapshot.
The warehouse service also handles product requisite management. Product requisites are user access requirements that must be fulfilled before a user can gain install access to a product. The product requisites consist of the following:
- Requires purchase
- Requires EULA
- Must purchase primary product first (used to secure dependencies)
Ecommerce Service
The ecommerce service handles all purchases of commercial software, purchases of member services, and the collection of user acceptance of product EULAs for those products that require such. The ecommerce service is also responsible for handling the DRM
Digital rights management
Digital rights management is a class of access control technologies that are used by hardware manufacturers, publishers, copyright holders and individuals with the intent to limit the use of digital content and devices after sale. DRM is any technology that inhibits uses of digital content that...
requirements of software that have them, such as delivering activation codes to the user or account registration with ISVs.
User Management
The user management service handles the creation and management of user accounts as well as the authentication and authorization of user accounts and user access respectively. Authentication is managed using LDAP and SSO
Single sign-on
Single sign-on is a property of access control of multiple related, but independent software systems. With this property a user logs in once and gains access to all systems without being prompted to log in again at each of them...
is utilized via a token federation service.
Package Management
The package management service handles the secure and non-secure storage of all the packages and provides for the secure delivery for all types of packages: free, non-free, and commercial, making CNR.com the industry leader for delivering desktop Linux software. This service is also responsible for the categorization of each product. The categories are an XDG base with an extended set of CNR categories not found in the XDG set intended to enhanced searchability.
Community Service
The community service provides for the forum, wiki document and blogging features for both the community in general and for each product. Each product has its own mini-community where discussions and self help community support can thrive.
CNR.com Service
This is the presentation layer of the CNR.com architecture and is responsible for providing the Web 2.0 interfaces. These interfaces allow for the following features:
- Add/Review/Edit the long and brief description for any product
- Add/Review/Edit the product logo and logo thumbnail
- Add/Review/Edit product screenshots
- Add/Review/Edit product ratings
- Add/Review/Edit product reviews
- Filter and sort content
- Product specifications with instant access to source code and build files
Other interfaces include the product chart that has a refresh lifecycle of once every ten minutes and various administrative interfaces for the overview and management of products and users data.
Support Service
The support service provides for the tracking, managing and resolving of user submitted support issues. It also has a facility for paid support features versus free support features.
Mail Lists Service
The mail list service is responsible for the mailing list enrollment and subscription management as well as the sending of system emails to the user as a result of some user-based activity on the site.
Secure Data
The secure data service is responsible for the secure storage of credit card profiles that the user has elected to save.
Category Data
The category data service is responsible for the storage of the data associated with product categories.
Audit Data
The audit data service is responsible for the storage of user activity records such as installs, client registration, machine registrations, etc.
Product Data
The product data service is responsible for the storage of product specific data as well as the product aggregation data.
Warehouse Data
The warehouse data service is responsible for the storage of package level data and distribution level data.
Resource Data
The resource data service is responsible for the storage of all images associated with a product including user provided images like logos and screenshots.
CNR Client
The CNR client is a desktop client application that interfaces with apt and dpkg on the desktop and with the warehouse web services on the server. It is intended to provide a starting point for the community to build its own variations of client software. The application is written in C++ with the GUI built on the QT framework. API integration is done through the gsoap framework. The CNR client is open source and open licensed so that anyone can use it for their own purposes without any need to license it. Features include:
- Installing and Uninstalling software
- Listing all software on the local machine
- Product and OS level updates with messaging
- Auto updating of itself
- Distribution selector to enable installing from more than one distribution
- Package detection for packages installed outside of the CNR system
CNR on other Linux systems
Linspire planned to port the CNR service to the UbuntuUbuntu (operating system)
Ubuntu is a computer operating system based on the Debian Linux distribution and distributed as free and open source software. It is named after the Southern African philosophy of Ubuntu...
distribution, the company announced plans on April 24, 2006 to release CNR under a free software/open source license. It could then be used by other Linux distributions.
On January 23, 2007, a "CNR for all" website was launched; however, the launching of the warehouse itself was announced for Q2 of 2007. The release of the new free/open-source CNR client and plug-in is planned to coincide with the release of Freespire
Freespire
Freespire was a community-driven Linux distribution which was composed mostly of free, open source software, while providing users the choice of including proprietary software including multimedia codecs, device drivers and application software....
2.0 and Linspire 6.0, both of which will include the free/open-source CNR client and plug-in (this new CNR is known internally at Linspire/Freespire as "CNR 7").
On July 1, 2008, Linspire changed its corporate name to Digital Cornerstone and was acquired by Xandros
Xandros
Xandros is the name of both a line of operating systems and Xandros Corporation, the company which creates them. Xandros Desktop was a Linux distribution. The name Xandros is derived from the X Window System and the Greek island of Andros....
. The deal gives Xandros ownership of all Linspire trademarks, patents, and assets, including CNR. It is expected that the CNR client will eventually be made available for Xandros' line of desktop Linux operating systems. In 2009, Xandros introduced a new "app store" based on CNR and includes access to it in their Presto operating system.
Support
Six distributions were expected to be supported at the time of the CNR 7 launch: DebianDebian
Debian is a computer operating system composed of software packages released as free and open source software primarily under the GNU General Public License along with other free software licenses. Debian GNU/Linux, which includes the GNU OS tools and Linux kernel, is a popular and influential...
, Fedora Core
Fedora (operating system)
Fedora is a RPM-based, general purpose collection of software, including an operating system based on the Linux kernel, developed by the community-supported Fedora Project and sponsored by Red Hat...
, Freespire
Freespire
Freespire was a community-driven Linux distribution which was composed mostly of free, open source software, while providing users the choice of including proprietary software including multimedia codecs, device drivers and application software....
, Linspire
Linspire
Linspire, previously known as LindowsOS, was a commercial operating system based on Debian GNU/Linux and later Ubuntu. Linspire was published by Linspire, Inc. and focused on ease-of-use, targeting home PC users...
, openSUSE
OpenSUSE
openSUSE is a general purpose operating system built on top of the Linux kernel, developed by the community-supported openSUSE Project and sponsored by SUSE...
, and Ubuntu (Feisty Fawn)
Ubuntu (operating system)
Ubuntu is a computer operating system based on the Debian Linux distribution and distributed as free and open source software. It is named after the Southern African philosophy of Ubuntu...
. Support for other distributions was expected starting in 2008.
A test version of CNR 7 was released on July 19, 2007.