Open Source: Cost Effectiveness
How will Open Source be more efficient?Productive Development & Real World Applications:
My first and big opinion, is that 3D CAD is in the state of maturing. Modeling is really unchanged in the last many years. The work is on details that improve performance or automate construction, not on fundamentals. Low range 3D CAD products are not that far different from mid-range products, which are not that far from high-end products. All of these companies are performing the same research and development for what is essentially the same product. CAM products are a similar situation.
The same is true for CNC controls. Virtually all machine control companies are moving to PC based controls for machine interface with proprietary motion controls on the complex machines. All are developing similar features and performance and none are coming out with clear domination of the entire industry. Again there are low-end, mid-range and high-level solutions, which is expected in a capital driven market.
One of the interesting things about Open Source is that it can service all three ranges with one product. This will unify the industry vertically, making it possible for the largest of companies to outsource to the smallest of companies efficiently.
The other thing that open source has the potential to do is provide an end to end solution from design to finished part. The only company that even comes close presently is Siemens Automation with it's recent acquisition of UGS. They have CAD, CAM and CNC control. I believe they are missing or not very strong on the ERP portion and they will only serve the upper end of the market. None of the other players in this very disintegrated world appear to even have a chance at providing end to end solutions.
The reason end to end is important is because many of the problems in the design to manufacturing process comes at the various boundaries. For instance, taking a model from CAD to CAM often requires a translation process or one company reading another company's proprietary format. Another example is "posting" where the CAM package translates it's proprietary file to the machine program for a CNC control that again uses a proprietary language. Generally errors are not made inside the programs themselves but are created when going from one program to another.
Having a corporate structure to develop, sell and support software is really a carry over from the industrial revolution. We are learning that the information revolution often has no need for conventional "brick and mortar" facilities. As well, conventional transportation for distribution is no longer needed for software products since we have the Internet. User groups have also proliferated with the expanse of the Internet. While Value Added Resellers (VAR's) are still valuable in many situations, a lot of manufacturing software companies have moved away from that model and are providing direct support. Anyone who knows where the good groups "hangout" usually find VAR's unnecessary.
So with technology and the user community taking facilities, sales, distribution and support out of the equation, the only thing the corporate structure has to offer is management. Even management can be overcome. There are significant Open Source projects listed on our Notable Projects Page that obviously had sufficient management to carry them though to success.
The other obvious efficiency is that the profits being made at the various commercial companies providing current products and solutions are on the table for sponsor/users of an Open Source project. Even after all of the duplicated R & D, there are many profitable companies. Granted many have lain off their North American developers and gone overseas for cheap programmers to maintain their profits.
Off-shoring is something that happens almost by default with Open Source projects. People from all over the world can make contributions. I see managing this as the most complex problem in the project but also one that creates unique opportunities.
While cost is important, the project is not profit driven. There are quite a number of ex-programmers from the CAD and CAM companies that are still working out of their field since being let go due to off-shoring. This creates a talent pool for a project that has funding to pay the developers. The other impressive aspect is that off-shore developers need not be discriminated against because of their location and nationality. Programmers or managers in low wage countries could be paid on parity with people of equal talent in the rest of the world. Hence, a practical median for wages could be established and pay would be based on talent and levels of contribution.
Without profits to set goals and force accountability, the project will need budgets, goals and milestones that are comparable to a commercial environment and consequences if they are not met. At the moment, I am struggling to ascertain how this would be done and am open to any comments or suggestions. Actually, I am open to comments and suggestions on all aspects of forming a project like this.