These FAQs are designed to further your understanding of both open source and the FuseSource product line:
Why use open source?
The primary reason IT organizations turn to open source is cost: open source software comes without licensing fees. Other reasons include getting the latest in innovation, source code control, and vendor neutrality.
What are the differences between open source software, freeware and shareware?
Freeware refers to executables that are freely available for use, but unlike open source software the source code is not available nor is there a community or development infrastructure that supports contributions. Shareware is software that can be downloaded and evaluated for free, but users are supposed to pay when shareware is deployed.
Does that mean open source development is free?
No. The code is free, but any professional services used during development are priced the same as if using commercially available software. Most organizations that use open source, however, realize considerable savings across the life of the project.
Can open source software contain adware, spyware or viruses?
Open source projects are consistently free of adware, spyware and viruses. This is because the source code is available to everyone; if a developer were to add rogue code to a project it would be immediately visible to others in the community.
Is code quality sacrificed for innovation?
Typically not. Innovation comes from the fact that a large number of developers are contributing to the project, which means that a large number of developers are using, and therefore testing the project. In addition, because open source projects are not constrained to formal release schedules, bug fixes are made available almost immediately. In addition, groups like the FuseSource team provide open source product releases that have been tested and certified and are based on open source projects
Is open source software safe to use in the back office?
Absolutely. Linux and MySQL have proven that open source projects are enterprise class and can be used in mission-critical infrastructure and applications.
With all the contributions, how can one be assured of getting a stable and consistent release?
To address this concern groups like the FuseSource team are offering tested, certified and numbered releases of open source products that include the code from open source projects. These releases are open and are available at no cost.
Are professional services available for projects that use open source software?
Many firms offer support for projects that use open source software. The FuseSource team, who specializes developing SOA infrastructure for Fortune 2000 IT organizations, offers the same enterprise support for FuseSource-based projects as they offer for they commercially licensed products.
What are licensing restrictions of open source software?
There is a range of open source licenses, and the Open Source Initiative is a good source for information on this topic. Two common open source licenses include:
Apache Software License – allows free use and distribution of the software and documentation. This is preferred by ISVs that incorporate open source software in their commercially available products.
GNU general Public license (GPL) / GNU Lesser general Public license (LGPL) – allows free use of the software and documentation, but users cannot redistribute it in their own products.
Can projects in incubation be used for mission-critical applications?
Absolutely. Apache’s criteria for graduating projects from incubation in no way reflects the quality of the code. It reflects the status of the community and whether it has established itself according to Apache guidelines. Developing and organizing the community takes time, often 1.5 years and longer. In the mean time, the code is often of production quality and is appropriate for enterprise use.
How widespread is open source software use?
Most analyst reports and industry surveys are consistent in saying that open source adoption is extensive and that the reaction has been positive: IDC’s recent study determined that open source software is used by over 70 percent of all developers worldwide, and IDC senior vice president of global software research Anthony Picardi claims that “the real impact of open source is to sustain innovations in mature software markets, thus extending the useful life of software assets and saving customers money.”
When should I use the Apache projects, and when should I use FuseSource ?
The FuseSource products are based on Apache ServiceMix, Apache ActiveMQ, Apache CXF and Apache Camel. The FuseSource team tests, certifies and supports these releases. If you want to be on the bleeding edge of the project’s development, use the Apache version. If you need the stability and reliability of an enterprise release, use FuseSource . For more information, read about the differences between the projects and FuseSource.
How are the FuseSource products different than the Apache projects that they are based on?
While the core code of each FuseSource product is essentially identical to a particular release from an Apache project, there are many enhancements that the FuseSource products provide. Enhancements fall into the categories of functional, support, testing, interoperability, and documentation. Functions may be added or modified by the FuseSource engineering team to meet a specific product requirement not yet supported in the open source project. For example, FuseSource Services Framework includes a Spring-based container for use with Apache CXF that is not released as part of the Apache CXF project. From a support perspective, our engineering team selects stable releases of the code for which we can provide guaranteed response times and rapid patches to meet customers’ needs. Our patches are contributed back to the Apache community project. In terms of testing, we perform additional testing on our releases and also validate compatibility with complementary components such as Artix Orchestration. For interoperability, we test and provide demos to show users how to use FuseSource products, and how they work together. We also provide documentation, as enterprise-quality documentation for our open source software has been a top request. Keep watching this site to see our documentation improve continuously.
Do you contribute your work on FuseSource products back to the Apache projects?
Yes, we submit patches and other development back to the individual Apache projects as quickly as possible.
When should I use FUSE Services Framework?
How does FUSE Services Framework, based on Apache CXF, support RESTful web services?
There is a great post on REST including a response from Dan Diephouse, author of CXF, detailing how CXF supports REST on InfoQ.
Why would I choose FUSE Services Framework, based on Apache CXF over Axis 2?
Dan Kulp and Dan Diephouse, both authors of CXF, responded to this question in a discussion on The Server Side , following the recent announcement of CXF 2.0.
When should I use FUSE Mediation Router?
Based on Apache Camel, FUSE Mediation Router makes it easy for Java developers to quickly implement integration patterns using a code-first approach using simple POJOs. The Camel API maps to the easy to understand Enterprise Integration Patterns, such that a developer with minimal integration skills can quickly create connector components that provide routing, mediation, and other integration capabilities. These components may leverage services that were created using the FUSE Services Framework. FUSE Mediation Router can be used stand-alone, with FUSE Services Framwework, and can deployed in a variety of containers like FUSE ESB, J2EE, Servlet, or Spring-based containers.
When should I use FUSE Message Broker?
Based on Apache ActiveMQ, FUSE Message Broker is a cost-effective and flexible messaging platform for reliably executing transactions and moving data, efficiently scaling operations, and connecting processes across heterogeneous database and application environments.
When should I use FUSE ESB?
Based on Apache ServiceMix, FUSE ESB provides a standardized methodology, server, and tools to deploy integration components. FUSE ESB was built from the ground up to support the JBI specification (JSR 208) and provides a structured environment to manage and deploy the components that developers create using FUSE Services Framework and FUSE Mediation Router as well as additional JBI-compliant components like BPEL. FUSE ESB uses FUSE Message Broker as its underlying messaging infrastructure.
What do you recommend for BPEL?
FUSE ESB 4!
I have some questions about the installation process.
See the FuseSource Product Installation Release Notes in the Documentation Section of fusesource.com. These Notes identify several known issues regarding product installation.
What if I want to use a FuseSource product installer without the GUI in headless mode?
Run the installer with “-i console”, which will start it in console
mode, no GUI required.
What is FuseSource Forge?
The Forge is a collaborative environment for the development of open source projects related to the FuseSource integration and messaging products and the Apache projects that they leverage. It fosters community development and communication by providing open source development infrastructure for use by the FuseSource community. On FuseSource Forge you can create and run a project, participate as a committer in one or more projects, or just browse the ever growing library of components designed for FuseSource . In the spirit of open source transparency the FuseSource team has moved all internal development to the forge including our core distributions. We encourage you to bring your components into the Forge and share with the diverse community of FuseSource users.
Why would you contribute to FuseSource Forge?
The FuseSource community often develops generic integration and messaging capabilities that are not directly related to the business problem at hand. These generic capabilities can leverage the freely available FuseSource infrastructure to reap the benefits of community development. Community development can drastically increase the number of resources and interested parties working with you to enhance your code base and reduce the cost of maintaining these extensions in house. In some cases Forge contributions may be adopted into the distributions themselves and become supported offerings within FuseSource subscriptions. In this way FuseSource community members may take part in the evolution of the FuseSource products themselves.
Do I need to be a FuseSource customer to participate in a Forge project?
No, anyone can participate in the FuseSource community. The only requirements for participation are a free registration on fusesource.com and a good idea.
How do I become a contributor to the Forge?
Registered users should navigate to the Forge ICLA. This page will allow you to review the terms of the FuseSource Forge Individual Contributor License Agreement. Upon acceptance, please print, sign, and fax to +1 781-998-2403. You can also email the executed agreement to firstname.lastname@example.org. Once received your user id will be granted privileged access to the Forge allowing you to propose projects and be accepted as a committer on existing projects.
How do I propose a new project?
Projects are proposed by registered members of the FuseSource community. Before requesting a project, it is necessary to accept the terms of the FuseSource ICLA electronically as well as providing a signed copy by fax or email. The first step in proposing a project is to click the “Create” item on the FuseSource Forge homepage. You will be asked to provide details about your proposal as well as the infrastructure capabilities required by your project (source control, issue tracking, wiki, etc.). You may choose to leverage all of the Forge infrastructure or link to an external host that offers these services for your specific project. Once satisfied with your proposal click the “Create” button at the end of the form. This submits your request to the FuseSource Forge Project Management Committee which reviews your proposal and approves valid requests. Upon approval, you will be notified by email of your project’s acceptance and promoted to administrator for the newly created project.
Newly created projects are hosted at http://fusesource.com/forge/projects/project-shortname
How do I become a committer on a project?
In all cases the first step to becoming a committer is to get involved in the community. Participate in the project mailing list, contribute patches, documentation edits, etc. Project administrators are the only community members that can grant committer access. The committer process varies across the individual forge projects. For more information on gaining committer access to a particular project, contact the project lead.
How do I manage source code on FuseSource Forge?
Source control options include Subversion and Git. Projects can choose to leverage one or both approaches to versioning. Projects can also be configured to reference an external source repository.
Each project hosts their subversion repository at http://fusesource.com/forge/svn/project-shortname. Most projects do all the new development in the trunk directory. The maintenance of old releases is done in the branches directory. Finally, to find the source code for a specific release, browse the tags directory. Subversion repositories are secured using the username and password you registered with at fusesource.com.
For more information on Subversion and to download the required client please visit the Subversion Homepage
Git is a free & open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Each project hosts their Git repository at ssh://email@example.com/project-shortname.git
For more information on Git and to download the required client please visit the git Homepage
How do I manage tasks and issues on FuseSource Forge?
The Forge provides an Atlassian JIRA project for all hosted projects. JIRA lets you prioritise, assign, track, report and audit your ‘issues,’ whatever they may be — from software bugs and help-desk tickets to project tasks and change requests. Projects can also be configured to refer to an external issue tracker.
Each project hosts their issue tracker at http://fusesource.com/issues/browse/project-shortname
For more information on JIRA please visit the JIRA documentation
How do I document projects on FuseSource Forge?
The Forge provides an Atlassian Confluence wiki space for all hosted projects. Confluence is a simple, powerful wiki that lets you create and share pages, documents and rich content with your team. Project documentation and collaborative content should be stored in an easily accessible manner to encourage community participation. Projects can also be configured to refer to an external wiki.
Each project hosts their wiki space at http://fusesource.com/wiki/display/project-shortname/Home
For more information on Confluence please visit the Confluence documentation
How do I use mailing lists to communicate with project teams?
The Forge allows project administrators to create and manage mailing lists for each project. All administrators will be provided a password to manage mailing lists. In most cases a project will have separate commit, dev, and user lists. Projects can also be configured to reference an external forums URL.
Email addresses for mailing list are of the form firstname.lastname@example.org
What are you working on for the next version of FuseSource Forge?
The FuseSource team is currently working to integrate our internal continuous integration and QA infrastructure with the Forge. This will allow for automated build and test execution on target platforms as well as providing tools to manage and measure the quality of FuseSource projects.
Will contributions be incorporated into other projects or FuseSource products?
The FuseSource contributor agreement grants copyright and patent licenses to Progress Software for all contributions to the Forge. In some cases a Forge contribution will be incorporated into other projects or the FuseSource distributions. One of the advantages of this approach is that it provides commercial support for the Forge project and derivative works.
How do I manage file content on FuseSource Forge?
FUFuseSource SE Forge provides a WebDAV directory to distribute files to the users of your project. This facility can be used to distribute builds to the user community of your project as well as provide a custom website, project documentation, podcasts, etc. WebDAV directories can be mounted as a shared folder in most operating systems. For more information on mounting a WebDAV directory see this tip
Each project hosts their WebDAV directories at http://fusesource.com/forge/dav/project-shortname/
How do I customize the website for my project?
Many projects create a custom website using the WebDAV capabilities of FuseSource Forge by publishing the site and linking to the homepage in the project’s dav directory. Project administrators are able to select the technology of choice for web publishing. We use a number of tools in FuseSource sponsored to create sites including Apache Maven and webgen.
For further information on using these tools with FuseSource Forge see Webgen and Maven
What is FuseSource virtual training?
FuseSource virtual training is real time learning delivered using the WebEx web conferencing tool. The purpose of virtual training is to bring a group of students together in a virtual environment but without incurring travel costs and time away from work. The classes are taken in 4-hour increments over a 2-day period and typically there is a lunch break as well as a 10-minute break mid-morning and another mid-afternoon.
How does virtual training help me and my organization?
FuseSource virtual training provides high level education experience similar to that of instructor-led training — you can connect a group of students together with a subject matter expert without them having to leave the office.
- Cost-effective virtual environment
- Enrollment fees lower than traditional classroom fees
- Travel expenditure eliminated
- Real-time training taught by Progress instructors
- Interactive and engaging environment, no canned presentations
- Train teams at the same time across regions/countries
How is the virtual training delivered?
Virtual training sessions are delivered via a webcast. Progress uses WebEx as the tool to deliver our virtual training. All you need is an internet connection and web browser to access the virtual environment.
The instructor’s voice is delivered to you by WebEx through a streaming audio broadcast. In addition, a conference toll bridge will be deployed when the session is open to live, interactive questions and answers for limited 10-minute periods throughout the day as advised by your instructor.
What is the difference between a virtual training and online training?
Traditional online training is self-paced, and solitary in nature. Students work through material by themselves, and not as part of a team. Virtual training gives a different experience, because it is a live event, with a live instructor, and a number of other students participating at the same time. Most students find this setup much more attractive and more engaging than traditional online training.
Self-paced online training classes are often started, but abandoned midway, because it requires a huge amount of discipline from the student to stay focused. Virtual training makes it easier to stay involved and focused.
How do I register for a virtual training session?
Enrollment in virtual training is identical to enrollment in instructor-led training.
Please visit the virtual training schedule or contact us at email@example.com to obtain a registration form or for more information.
How will I be notified with my confirmation?
Similar to instructor-led training, you will receive an acknowledgment of your enrollment, and once your payment method has been accepted, you will receive a confirmation email.
Does everyone have to be in the same place to participate in a virtual session?
No. The great advantage of virtual learning is that the participants can be in any location in which they have access to a computer, web access and a telephone for when the session is open to live two way Q&A.
What will I see on my screen?
You will see live stream web delivery of the instructor’s screen as he speaks, provides examples, and answers questions. The class is designed to parallel its classroom equivalent to the greatest extent possible, and to that end you will also see everything the instructor types clearly without impediment.
In addition, we will provide a dedicated IRC channel during the exercise sessions for a more interactive dialogue experience with the instructor, assistant and other students.
Can I ask questions during the class?
Of course! During the sessions you can “raise your hand” and use the WebEx Q&A and Chat facilities to post questions to the instructor and his assistant. Throughout the course, the instructor may also ask you for feedback, using the WebEx feedback mechanisms.
What are the system requirements for participating in a virtual training?
Participating in virtual training requires a web browser with a Java Runtime Environment capable of running plugins. The supported web browsers are:
- Internet Explorer 6.0+
- Mozilla Firefox 1.7.5+
- Safari 1.x+
Note: If deploying Mozilla FireFox the latest version of the Sun Java Runtime Environment (JRE) Plug-In must be installed and enabled. You can download it from http://www.java.com/en/download/index.jsp.
Developer-grade laptop/desktop machine – attendees will be expected to participate in the exercises, and so should have a development-grade machine with sufficient power to support Java development with Eclipse. Exercises are maven-based, and will work on Windows, Linux and Mac OS/X.
What are the system requirements for completing lessons and exercises?
The lessons are streamed, which means participants will need a sustainable bandwidth of 100 Kb/s, burstable up to 300Kb/s. High latency connections, such as satellite, are not supported. The class is delivered via streamed content so having a browser capable of using Java applets is required.
Do I need a headset?
A headset is recommended for high sound quality performance, but is not required. As a base requirement the machine must have support for audio through external speakers.
I was unable to connect to the class session. What are my options?
- If you are unable to attend due to an outage or other problem on the Progress’ side of the connection, we will offer a make-up class session.
- Progress will not be responsible for missed classes based on factors outside of Progress’ control.
- Participants are responsible for ensuring that their internet connection is functional, and for complying with the minimum software, bandwidth requirements, and scheduling.
Can I record the class sessions?
No. The class sessions are content copyrighted by Progress Software and recordings and/or reuse of the class sessions are not permitted – as per Terms & Conditions of the Registration Form for this training.
I will not be able to attend one or all of the class sessions. What are my options?
We use live people for instruction for the duration of the class session. Missing a day of virtual training is just like missing a day of instructor-led training and therefore you will not be eligible for a refund for the hours/days unattended.
I need to cancel and/or reschedule my virtual training. What are my options?
- You may cancel your registration six (6) or more business days prior to the class start date at no charge.
- If you cancel your registration five (5) business days or less prior to the class start date you will not be eligible for a refund.
- No refunds will be granted that are attributed to end-user technical difficulties.
- If you do not attend a scheduled session (no show), payment for the session is forfeited. You may not reschedule the session
- Cancellation fees will not be credited to any other courses.
- Your registration is not transferable. Any login, password or other access provided by Progress that is given to you to participate in the virtual training course is not transferable
- Progress reserves the right to reschedule or cancel this training course upon five (5) days notice to confirmed registrants. In the event of cancellation by Progress, registrants may either enroll in the next available offering of the course or cancel the registration and receive a full refund.