What does it mean to develop software to Novell? What are the methodologies and processes for success? This article should give you a basic overview of our philosophy around software development and how we help you take your idea from concept to solution. If you have feedback on this page, please let us know - we'd love to hear how we can help you be more successful.
Contents |
At Novell, we believe in open software development, which doesn't apply only to open source projects. Open software development is about using open platforms, like SUSE Linux. It's also about understanding the open source phenomenon and becoming involved at your own pace. It's about leveraging open source technologies, like Apache or MySQL, as well as open standards and programming languages. Open software development really means being open to grow and evolve at your own pace.
We understand that not every software application, not even every stable software application, is necessarily enterprise-ready. We help you address those additional enterprise concerns, such as:
How do you walk the line between commercial and open source? How do you tie the two together in ways that make sense in the enterprise? At Novell, we can help you because we have done this ourselves, and we continue to do it every day.
Our DeveloperNet program provides the information you need to leverage proprietary, in-house, and open source software together in a single enterprise at the levels of reliability that you need and expect. Membership in DeveloperNet is free, so there is no reason to postpone becoming a member.
All of Novell's developer-related information can be found here on this site, under the domain developer.novell.com. Here you will find archives of old DeveloperNet program newsletters, a wealth of flash tutorials at Novell's Linux University for Developers, and documents on a wide range of topics in our Developer Library.
Novell also offers very flexible project hosting services for those who are interested in trying their hand at hosting an open source project.
Our philosophy about open source project hosting is very versatile and easygoing. We understand that not every project or company is prepared to be fully open today. Our project hosting facilities are designed to let you be as open as you are ready to be. You can use as many or as few of our services as you like, and opt out of others, or substitute your own services if you prefer. For more information, you can read the Project Hosting Services Help page which tells more about our project hosting services and philosophy.
Open software development means collaboration during all phases of the development lifecycle. Wikis and mailing lists help to greatly simplify the process of exchanging ideas in order to create a great software solution.
When it comes to creating documents collaboratively, a wiki is tough to beat. This site, developer.novell.com, uses the MediaWiki software that is also used most notably by Wikipedia, but also by many Novell open source projects like Mono, iFolder, Hula, and openSUSE. If you host your project with us, you will get free Wiki pages on developer.novell.com that you are free to use to collaborate in your software planning. Whether you use our wiki or your own private wiki inside your corporate firewall, we believe that as you learn to use a wiki, you will find that it greatly aids your ability to collaborate on and document ideas for your software.
Mailing lists are used by almost every open source project to exchange ideas and information. Subscribing and participating in mailing lists is an essential step to becoming involved in the open source projects you care about. We offer mailing lists to projects that are hosted here that you may use if you choose. Your audience will likewise expect to use your mailing lists to collaborate with you on your projects.
This is the exciting stage of the software development process - where the idea is turned into something real. This is why most of us became software engineers in the first place.
The Novell Software Development Process begins with the platform, and that platform is SUSE Linux. SUSE Linux is a highly rated, versatile Linux distribution, so whether you are writing low-level, web-based, or desktop applications, SUSE Linux is the platform. Read Application Development on SUSE Linux and Understanding SUSE Linux Distributions for more information.
SUSE Linux comes with most of the libraries and infrastructure you will need to create basic applications. Integration with some Novell technologies will require the use of Novell SDKs which are also available for no cost.
When programming to SUSE Linux, you have a range of languages available for your use. Feel free to pick the language(s) that are a best fit for your skillset or future plans. If you like you can read Programming Languages for SUSE Linux to get our opinion on this matter.
SUSE Linux also ships with a variety of development environments, including the increasingly popular Eclipse IDE. Eclipse is a great open-source development tool for Java, C, and C++ development, as well as for web applications and web services using Java, J2EE, and PHP. We also ship other IDEs such as KDevelop and Anjuta for C/C++, MonoDevelop for C#, and Eric for Python. We also have great partnerships with proprietary tool vendors on SUSE Linux if you want a supported, commercial tool.
Once you've written that code, you will want to store it in a source code control system. SUSE Linux ships with several source code management systems, including both CVS and Subversion. We also offer both of these source code management systems as a free service for hosted projects. Combined with daily free backups, we believe this is a great value to you if you host your project with us. Of course, hosted projects are still free to host their own source in their own public or private location.
SUSE Linux includes some great tools for building applications, such as the GNU toolchain and Ant. However, building applications is about more than just compiling. SUSE Linux supports the RPM standard for application packaging, and also includes our "build" tool, which helps you develop and test your RPMs. Hosted projects may also take advantage of our hosted build service, which can create targeted binary RPMs for many different architectures, such as ia64, PowerPC, or x86_64, from your project files. For more information, read Building and Packaging Applications for SUSE Linux.
Once you have all those packages built and tested, the last thing to do is get them delivered to your user audience. Novell tools like ZenWorks Linux Management, YaST, and YaST Online Update make it easy for you to make your packages available, and for your audience to obtain and install the packages. Hosted projects can take advantage of our ZenWorks Linux Management service, which allows you to publish your packages and simultaneously notify your audience of the new publication. As far as we know, we are the only platform vendor today to offer this capability to any developer as a free service. For more information, read Publishing Software Packages for SUSE Linux.
There are many choices for issue tracking in the open source world, but Bugzilla is probably the most widely used system today. We provide Bugzilla services to hosted projects, or you can host your own issue tracking system. Whether you use Bugzilla, another issue tracker, or none at all, knowing how to file and track issues for open source projects is a primary way of getting involved.
Wikis, mailing lists, and other collaborative tools are also helpful for ongoing documentation and requirements gathering tasks. For example, you should expect that active open source projects maintain ongoing communication on their mailing lists even after stable releases, and others will have similar expectations of your projects.
© 2008 Novell, Inc. All Rights Reserved.