The Neuros and Open Source
From The Neuros Technology Wiki
Why is this important?
The "power of freedom" is more than a slogan to us. We believe open electronics are a vitally important component in the advance of freedom in the information age. Vastly more ubiquitous that personal computers, electronics are the devices that connect our world. They have been held back by the same closed mentality that held back proprietary computing devices prior to the open PC. Like PCs, electronics becoming open will surely usher in a new age in information freedom. This quiet revolution is already starting to unfold, and Neuros is a part of it by offering electronics where developers, hobbyists, and commercial 3rd parties alike are invited to participate. Once personal computers became open, an industry of consumer pc applications sprouted out of nowhere giving users access to all kinds of capabilities that where previously unimaginable. We believe a similar, but even larger opportunity awaits as the TV becomes open.
Neuros offers the same kind of tools and community communication that you typically find in volunteer efforts, but in this case, it's sponsored by the manufacturer. This means support, more resources, less reverse engineering and more effective and efficient hacking, along with a single code base. That means a dramatically larger user base for your code since the instructions for installing your software can be as simple as "Buy the product at Fry's with no firmware reflashing required.
For free software, and the freedom that comes with it, to reach the mainstream, it has to be easy and seamless to use. Neuros believes that's best accomplished when a community and manufacturer are working hand in hand. Together, we can deliver the best experience to our users, and grow that user base in a way that benefits everyone.
There are probably as many reasons for developing on Neuros products as there are Neuros hackers, but something that unites us is a belief that we can create a place for developers where they are judged solely on the merits of their contributions:
- It is a place where anyone can contribute at whatever level they are capable.
- No resumes, no interviews, no connections, no networking.
Just like virtually every open source project, we offer a place to show your value:
- For anyone anywhere that can contribute at a higher level than their test scores or credentials say they should.
- For anyone that can contribute at level beyond their age, physical disabilities, or social status.
- For anyone that can contribute at level beyond what corporate bureaucracy allows.
There are simply few, if any, hardware companies that cooperate with the open source community in as open and transparent a way as Neuros. If you walk through the website (and all its various offshoots) you'll find that the community is involved in our entire product development process from the earliest stages. From discussing software architecture and vendor and component selection to feature specifications, the process is open and public. The level of access an interested hacker has at Neuros is something that you'd have to be an internal senior executive to have at most of the major CE companies. Where else would a hacker be able to participate in developing the specs for a developer board for a product that hasn't even been released yet?
Why is Neuros so open?
There are several reasons. First, we have really embraced the open source methodology of product development. Those of you that have followed Neuros development from the beginning know this has been an evolution for us, and not without its rough spots. Over time, by witnessing the power of the open source, collaborative style of development, we became believers. Today, it's obvious that that by involving the community, our most involved and (usually) articulate users and developers we can participate at every step of the way, not to mention give invaluable feedback. This end user feedback woven deeply into the product development process is what ensures that our products make sense and serve a real need. Second, Neuros targets that highly sophisticated user as its end user. For those of you skeptical that such users comprise an adequate market to build a business on, you'll be interested to know that a recent University of Chicago (Graduate School of Business) study we commissioned estimated the market for portable digital audio and video players among what they called "open source geeks" to be a $2 Billion a year market worldwide. The third reason is a simple belief that the broader market appreciates "openness" as well. You don't have to be an open source geek to be repulsed by Microsoft's Halloween memo or the latest corporate coverup. We believe that by being transparent, owning up to our mistakes and standing behind our products, in the long run, we can create a brand that people can believe in.
What does Neuros offer developers?
- OdNT- the portal for all the news about the neuros development activity (powered by Drupal)
- Here you'll find links to a full developer infrastructure (version control, bug reporting) shared by the internal staff
- This Wiki- Supported by the internal staff as well as the community at large
- open forums- Again, supported by the internal staff as well as the community at large
- Access & Advocacy. From engineers to the CEO, you have access to all the decision makers and they are working on your behalf to get tools and documentation from vendors that you might otherwise not have
- An affiliate program (program underway). How can you make money as an open source hacker if you're not selling your code? Well, we're setting up a program that will allow you get affiliate commissions just by directing sales through you. It's a way to let the community vote to support your efforts.
- A Bounty Program for getting paid for FOSS development
- A Beta Program and Beta Newsletter to encourage open testing
- An active mailing list for consumers and hackers alike.
- IRC channel #neuros for discussion with outside and inside developers alike
- Access to the earliest hardware and software releases
- Free or subsidized developer tools (hardware and software)
- For a complete list of community resources, please see Getting Involved.
General Open Source Support
Neuros has been supporting and will be supporting the open source community since 2003 by doing things like releasing the source code for their original sync manager, the Neuros firmware, and the Neuros schematics. Products are developed from scratch in an open, collaborative, community based approach by taking input from the community through a variety of mechanism, from this wiki to discussion groups and uncensored forums. Right now, the official developer site for the Neuros is open.neurostechnology.com/. This site lists any news about Neuros and open source, and contains many links to other open source sites involving the Neuros like the links to the four open source sync managers that exist for the Neuros. Another project helping to make the Neuros more open source is the GCC port for the TI TMS320C54X.
Newsforge did a story recently that articulates the Neuros approach. Look Here
What does it mean that Neuros is "open source"? What is open source hardware?
There is no official definition for open source hardware because the concept is new and hardware is fundamentally different from software in that it has real variable costs to manufacture and distribute, and that it almost inherently requires the use of proprietary components to make it work. It gets even more confusing because a great many devices already use embedded Linux for example, but we don't really considered them "open," because the applications are all proprietary and there's little or no support for hacking them.
Neuros is making an ongoing effort to open its hardware, and we distinguish ourselves in the following ways:
- We use open source licenses for our application code not just our device operating system. This allows to access, modify and contribute to the way the device behaves without having to start from scratch.
- We publish APIs to access the proprietary parts of the hardware. For example, the TI processor that we have chosen does not yet have available specs, and until our NDA expires (no later than August 2008) there is considerable information, particuliarly about the DSP that we cannot release to the public. Thus we provide a level of abstraction in our APIs that allows open source programs to access as much of the low level functionality as we can.
- We publish as much information about the hardware as we can. This allows embedded hackers to understand our architecture and helps them to more efficiently develop on the platform.
- We involve the community throughout the process and invite feedback throughout, even on the hardware development. Very little in our entire development process is obscured from public view.
- Our software is developed not only with open source licenses but in open source fashion, with the participation of outside developers as well as internal ones.
- We work to insure that the developer tools that are needed are available and low cost (typically free)
- We seek to leverage the work of other open source projects. Why not build on the great work that folks like Rockbox and MythTV have done?
How does Neuros give back to the open source community?
Neuros supports the community in many ways. First by supporting all community members with the inexpensive tools they need to develop. Second, by hiring and contracting work from the community, just ask Nerochiaro, Turran and Crweb and others. Third by sponsoring bounties and cooperating with other companies to do the same, including our Google Summer of Code mentorship.
Most importantly we're more generally a part of the virtuous cycle that is advancing the cause of free software and open hardware. Think about it: by supporting hackers, we'll produce better products that are more broadly accepted and sold, which will give us more influence with our partners and vendors, which will thus further raise the stature of the open source community thus gaining more support and resources. We believe we can build on the open source momentum to disrupt a Consumer electronics industry that has been built on a long standing web of proprietary, closed architectures. To see how this is already happening check out the mainstream media attention that we've already received, including the New York Times and The Economist
The Salad Bar: a Strategic Advantage to Neuros
See The Salad Bar Article
How we got started with Open Source
See "How We Got Started with Open Source" to read how we got introduced to open source software and what it could do for us. For more information, see Nathan Sander's detailed history of Neuros and community development
After considerable debate and discussion, Neuros has chosen Linux as the operating system for the next generation of products (Neuros OSD, N3 and 442). Linux is a full fledged operating system that requires more overhead and resources to run than most stripped down "real time" operating systems, we believe that the familiarly and ubiquity of Linux will be a great asset in developing for the Neuros products as well as recruiting developers. It's easier to port Linux applications and components to another Linux system, and it's less to learn for developers already familiar with it. As the cost of processing power continues to drop we believe that the additional overhead associated with Linux will be further outweighed by its advantages.
TI and Open Source
Why would an open source company choose TI silicon, and what's our plan for dealing with all the proprietary obstacles associated with TI?
see TI & Open Source
Non Open Source Products
You will, however, notice that Neuros also releases products that are not yet open source. There are really two reasons for this. The first is that there are a great many partners that contribute to the production of our products. There are factories, middleware providers, codec providers, etc. There are large amounts of outside IP that goes into these products that are not developed by the device manufacturer. As a result, there's a considerable amount of work required to replace that proprietary code with open source code. You can think of Neuros as hackers from within the supply chain. Although we sponsor and encourage the hacking of our devices, it's important to remember that we are only one part of the supply chain that get's these devices built. Replacing proprietary software or abstracting it in ways that satisfy the many IP providers takes time.
Why do we release products before they are open source? We believe that it's better for us and our customers to get products to market quickly so that we can develop new features, modify hardware and advance the technology in response to our customer feedback. Often our wishlist for new features has just as many hardware modifications as software modifications. Thus we feel it's better to get that feedback sooner, rather than wait for a complete transition to open source before releasing. Ironically, by honoring one of the key tenets of open source (release early and often) we end up releasing products before the source code is available. In all cases, it is our intention to release as much source code as quickly as we can.
Status of Open Source by Product
This wiki is user updated and the information here cannot be considered official Neuros communication