Page 1 of 12 123411 ... LastLast
Results 1 to 12 of 143

Thread: Why Open Source????? A White Paper. FLAME away!

  1. #1
    Registered
    Join Date
    Feb 2006
    Location
    USA
    Posts
    25
    Downloads
    0
    Uploads
    0

    Why Open Source????? A White Paper. FLAME away!

    A "White" paper:

    Prolog:

    (A very long opinion....could bore you, annoy, entertain, or even
    excite..depends. Just a Farmer's opinion on how the Shareware/Freeware community
    can make CAD/CAM/CNC package that would make serious impact in this business...
    please excuse terminology....I'm more used to talking about equine issues,
    trucks & tractors, and dirt bikes than CAD/CAM!)

    Goal:

    I would like to see a shareware community where programmers can show case their
    talents and develop a suite of capabilities that can compete with anything in the
    business today. Why do that? Same reason open source "vbulletin" exists...brings the
    business back to the programmers where they can sell services directly to
    businesses over the internet. Eliminates all kinds of baggage in the CAD/CAM and
    Graphics types of business. Winners are the innovators and programmers along with
    a customer base that enjoys the lower cost & greater pool of talent to support
    these types of products and services.

    How could this happen? Learn from history. Many of the current successful business
    built a product & business model assuming third party development to add to
    capabilities and therefore market place. The first part of the puzzle has to be
    a development environment that includes things like standard database utilities
    with standard API and/or command interfaces Shareware programmers can use to
    "plug" their ideas into. A "model" to look to is those many modelers out there
    that have a full set of database creation and management. Think of all the App's
    that run within the Autodesk Environment, ACIS or Solidworks, etc. Why not have
    a share-net modeler that has those same types of database, modeling, IO, graphics,
    picking things available for developers?

    Guts:

    How might this look?

    1) Start with a standard database environment that all Shareware types can use to
    include the following type extensions:

    a) Data types to include Geometry from line,arc,spline, surface types, solid
    constructions of the base geometry types, toolpaths as geometry, coordinate
    systems as geometry, etc.
    b) Save/restore functions in a public domain format....pedes, iges, or from
    SCRATCH!
    c) create, delete, and manipulation functions such as copy, rotate, mirror,
    translate, etc.
    d) The ability to store coordinate systems as geometry...(and also ability
    to attach to all geometry types, including toopath entities and SUB
    entities)..(ie, a series of nodes in a spline w/ I,J,K info that could be
    both part of a toolpath or raw geometry.
    e) extendable for shareware types to add their own geometry/data classes...and
    then have the benifit of all the data base utility functions already DONE..
    f) Define a standard way to evaluate and output geometry/entity classes (NEVER
    know whats in the future!)
    g) Provide a standard style of "API" for shareware types to follow as they
    extend these functions. Might use the CLfile out, save/restore as the samples.
    h) Have a display & picking capability using as "industry standard" a display
    mechanism possible. Allow picking to be either extended or replaced by
    shareware types, but have a working sample.

    The idea is these standard type things are taken care of and share ware/ open
    source contributers can spend their time building neat new and useful functions
    to evolve the overall package into something that can compete at ANY level.
    IF there is an environment out there ..... start there. I'm not familiar
    with an open source solid modeler or that type of development environemt.

    2) Having an open architecture is the key...must be able to allow extentions.
    Especially in geometry types(classes) and toolpath types. My particular
    preference is using linked lists of objects. For example a linked list
    of objects defining a toolpath. The "Begin" object has some basic information
    including Partno, Machine number and just general text info..but it points
    to the next which might be a "Motion" object the has text & numerical info
    like feedrates, and points to geometry. The geometry can be edges, lines, arcs,
    splines, loops (lists of curves), etc. The toolpath evaluation to create
    CLdata info needs to loop through these lists and evaluate each object to
    define data for output...but I'm getting ahead and its JUST an opinion. The
    reason I like that concept is because it allows the "output" evaluation code
    to be a module AND therefore depending on the application could output
    something like a CLDATA files or be drivers for servos....with ability
    to modify those tool-object with intellegent feedback...again I'm off subject.
    (Also notice "Motion" vs. "Cut-to"....never know what you ant to DRIVE with
    that style entity!)

    3) Need to avoid Patent or liscensing issues & May need to have either a public
    domain modeler to start from or may need to build from scratch...organizational
    head ache!!!! Didn't "Padl" used to be public domain? Is there anything out there
    complete & robust enough to start with? How about from NIST/DARPA and other
    research efforts? Also needs to be a safe place to store this modeler thats
    accessible to the shareware community. Needs a proceedure where forum
    "moderators" can review code before they add to the pool...guarantee once
    something like this gets capable enough to be useful there will be those
    who want to kill it before it grows.

    4) Need a standard post processor type function either embedded or have a simple
    CLDATA output/ G-post concept in shareware. Makes the system useful. Make them
    replaceable and/or extendable. This along with a part save and restore function
    makes the system useful AND gives shareware developers a sample of code
    to work with when they build their own "output" interface drivers.

    5) Nice to have a GUI builder & have integrated with standard display & picking
    functions. (I remember Cimlinc's and it allowed a tremendous amount of ownership
    at the user/customer without turning into a maintenance nightmere). Again to
    be a sample but it also would allow endusers and hobbiest the ability to
    customize groups of functions and therefore have ownership of their own
    toys...a huge interest magnet.

    6) Have a simple milling areaclear and profile function for an example for shareware
    types to follow. (Along with toolpath entity to post or to CLDATA out to post).
    A hook to get endusers to spend time as there is useful functions. More
    critical is the "template" for shareware developers to use as they build
    toolpath and other geometry creation type functions. Shows interaction
    with the database, graphics, picking, file in/out, etc.

    7) Have a simple Lathe rough & finish function as an example. Ditto above as
    the geometry of "Lathe" is way different than milling functions.

    8) Have a simple modeler to make things like lines & arcs with trimming as an
    example to add geometry function. Ditto again to show how new geometry
    modeling functions can interface.....

    9) Have loop or profile entity types defined. With offset functions. This
    is one of the hardest things to get right. If there is a robust and reliable
    set of functions that shareware developers can use and grow, things will
    happen MUCH faster.

    10) Have some trimming functions defined...certainly enough for those guys doing
    profile and areaclear type toolpaths to use. Ditto above again for
    motive.

    11) have some slice (surface surface intersection routines) ..yea...ditto

    12) As shareware developers add functions, have the functions (like slicing) in
    a form they can be used by other requiring to slice and return data so
    results of one shareware project can accellerate another one...AND maybe if
    there is enough communication different guys with similar projects can split
    up base functions in the beginning of this effort so everyone wins
    .......almost like a company.

    Summary:

    Guys, if you build an environment like this, people will be able to contribute
    and make a system over time that can rival anything out there....then you
    independent types will have a customer base as the industry see's this as a
    real option and wants to HIRE folks to help train, setup, maintain, customize
    etc. Same as vBulliten, and Network environments have been in the past. Same
    as a whole host of modelers have done in our industry but without the high cost
    of entry and staying with a modeler for you in this shareware world.

    Also make this where it can creep into the GIS world and the marketplace will
    be far greater than anything we have ever seen in the CAD/CAM/CAE world.

    Those GIS guys are growing in a similar way as we did...its about data,
    geomemetry to display, manipulation, inquity of data,display of info derived
    from that data etc. to build businesses around this huge expanding database
    that is the GIS world.

    One thing I know we all need to realize, no one in the real CAD/CAM
    business world see's shareware as a viable solution or threat (same thing)
    because there isn't a coordinated effort or even a standard enough
    development environment conducive to the development of a full function
    suite of CAD/CAM solutions ...yet. Figure out how to build the foundation
    first and the CAD/CAM world will change the way it does business.

    Several businesses predicated their plan with selling an environment so
    3rd party developers can add to their set of functions; instead of being
    competition they get those developers to invest in expanding their
    marketplace! Kind of like the operation system concept for graphics
    applications. WHY not build one in freeware/shareware? Give a place
    for the independent types to build and sell their talents without
    being tied to these other licensing anchors. This would certainly
    change the business models for some wouldn't it. The web is a wonderful
    sales and marketing tool.

    By the way...might be worth PAYING those maintain a Bulletin Board
    for tracking all this!!!


    Who knows, if you out there in on the web make this happen; maybe one
    of the existing products will tumble out from behind its corperate wall
    for every one to play with...but there has to be a reason to drive one
    out! (Maybe a share-ware develpment package option...what do you think?)

    Also think how much simpler data transfer in this CAD/CAM/CAE/CNC/GIS
    world would be if one modeler became the standard for developers...

    PS:

    Back to the horses. Need to "muck" the stalls and work a broken down
    Race horse with an amazing history. Just makes me sad to see how much
    they give over their racing career only to be tossed out to feed the
    French! (They really have done a good job of understanding the CAD/CAM
    world haven't they? And no I don't have anything against the French..
    just don't like seeing dedication rewarded in that way (horses!))
    Last edited by weimedog; 03-25-2006 at 08:08 AM.


  2. #2
    Registered pminmo's Avatar
    Join Date
    Jun 2003
    Location
    St. Peters, Mo USA
    Posts
    3,325
    Downloads
    0
    Uploads
    0
    http://www.opensource.org/index.php
    http://www.linuxcnc.org/

    Some of what you say, reflects a point many people miss. It's all about data.
    "build it and they will come" so to speak. if somebody wants I'll setup part of my website for such a project. i.e. dedicated forum, repository... I've got more space than I will ever use.
    Phil, Still too many interests, too many projects, and not enough time!!!!!!!!
    Vist my websites - http://pminmo.com & http://millpcbs.com


  3. #3
    Registered
    Join Date
    Mar 2004
    Location
    United States
    Posts
    1,147
    Downloads
    0
    Uploads
    0
    one problem with this is that it seems to often take 1 dedicated programmer who writes a core dataset, something sooo attractive and usefull that others cannot help themselves but contribute...

    something like GIMP is a good example...
    Design & Development
    My Portfolio: www.robertguyser.com | CAD Blog I Contribute to: http://www.jeffcad.info


  4. #4
    Registered
    Join Date
    Mar 2004
    Location
    Iowa, USA
    Posts
    267
    Downloads
    0
    Uploads
    0
    Maybe the answer comes in taking open source software and re-interfacing to achieve a new product. Reinventing the wheel has always been a problem in software development.

    Look at XML and the attempts to make it the savior of Ebusiness. There are XML standards for all sorts of data, including CNC. XML may well be the data model you need to have a seamless transfer between products.

    An example is XMI used to move UML model data between different development products like Rational Rose, ArgoUML, etc. The standard takes everything done to the gnats behind. However, you can describe your model using only the minimum, and that is OK.

    I have alot of experience with this and would be willing to suggest and/or develop an XML model of this dataset. Can someone start describing the dataset?

    RipperSoftware


  • #5
    Registered
    Join Date
    Mar 2004
    Location
    Iowa, USA
    Posts
    267
    Downloads
    0
    Uploads
    0
    Let me add that AutoCAD uses a XML format called DesignXML. This is supported by AutoLisp XMLin and XMLout.

    There are several opensource projects that attempt to deal with this standard and convert to other standards like SVG. There are opensource graphics programs that read SVG.

    What about opensource CAD and CAM using DesignXML?

    RipperSoftware


  • #6
    Registered
    Join Date
    Mar 2004
    Location
    Iowa, USA
    Posts
    267
    Downloads
    0
    Uploads
    0
    Here are some open source products:

    OpenCascade http://www.opencascade.org/
    BRL CAD from the US Army http://www.brlcad.org/
    SagCAD http://sagcad.sourceforge.jp/
    CAM Simulator http://www.codeproject.com/docview/c...&select=873174
    FreePCB http://www.freepcb.com/


  • #7
    Community Moderator ger21's Avatar
    Join Date
    Mar 2003
    Location
    Shelby Twp, MI....USA
    Posts
    22,286
    Downloads
    0
    Uploads
    0
    Quote Originally Posted by rippersoft
    Let me add that AutoCAD uses a XML format called DesignXML. This is supported by AutoLisp XMLin and XMLout.
    Not in 2006, or it's undocumented. Nothing in the helpfile, and not in the list of Autolisp functions there.

    A search of Autodesk's discussion groups seems like it was dropped with AutoCAD 2004.
    Gerry

    Mach3 2010 Screenset
    http://home.comcast.net/~cncwoodworker/2010.html

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)


  • #8
    Registered
    Join Date
    Dec 2005
    Location
    USA
    Posts
    3,319
    Downloads
    0
    Uploads
    0
    In a theoretically perfrect society, your idea would probably gain traction and move.

    However, when a group of people can find that they can make MONEY at creating software, things change and do so quickly.

    Besides, things like food, clothing, houses, cars, HEALTHCARE INSURANCE, gas, taxes, etc take their toll on "open source" projects. Somewhere, somehow, somebody has to make a living or an income off some part of it - nothing is free - everything has value. Perhaps the most valuable thing is TIME and time spent writing code ultimately deserves more than recognition.

    All the computer stuff that has been done was either an offshoot of governmental/military pr0jects and/or engineers who worked in the industry who spun off what they learned into private enterprises. Why? Usually because the "suits" didn't let them be creative so they did it on their own.

    It takes money to finance development. Taxes and/or industrial grants fund university based development and private industry finances code/technology that is developed for sale.

    There are many projects that become "open source" due to any number of reasons but somehow, somewhere someway, somebody's bucks paid for the seminal roots of the works. "Hobby development" only goes so far, especially when someone down the line will use it to make a profit - again, DIY only goes/carries so far as many folks would love to make their hobby their profession. I am lucky enought to make a profit at mine but as lucrative as it is/can be, it ain't enough to live off of (yet)....

    Having voiced the capitalistic mantra, I'd love to hear a reason/explanation how to get around it.... especially in todays economy in my industry where the stalwart OEM's are pretty much all near bankruptcy....
    Last edited by NC Cams; 03-25-2006 at 01:25 PM. Reason: fix typos


  • #9
    Registered WayneHill's Avatar
    Join Date
    Mar 2004
    Location
    Michigan
    Posts
    779
    Downloads
    0
    Uploads
    0
    Quote Originally Posted by NC Cams
    In a theoretically perfrect society, your idea would probably gain traction and move.....
    True. Another thought is programmers use different tools to create their work. I program in Delphi with custom component tool add-ons. Others use C# and C++ ... etc.

    Any open source project might require that programmers use the same language. However another option is to build a DLL library of functions that most languages can create.

    The operating system on which to base is another issue. WinXP is the flavor of the month until WinVista is stable. I no longer support the Win98 platform as compatible for my applications.

    Linux is unknown to me. And I like it that way

    I would like to contribute to an CNC Open souce program.

    Ref:
    http://www.imsrv.com/mtb/
    http://www.cadcamcadcam.com/index.as...WPROD&ProdID=4
    http://www.cnczone.com/gallery/showp...00/ppuser/3155
    Attached Files Attached Files
    Last edited by WayneHill; 03-25-2006 at 01:23 PM.
    Wayne Hill


  • #10
    Registered
    Join Date
    Feb 2006
    Location
    USA
    Posts
    25
    Downloads
    0
    Uploads
    0
    A few reasons why it is absolutely possible and as time goes on chances increase
    it will infact happen.

    1) So many companies have come and gone...the pool of people who have
    done this type of thing increases with these industry changes.
    2) Some of the big guys are close to financial distress and need to find a different
    business model....might pickup on this as a way to shrink their foot print.
    3) If they don't and crash and burn, where do their ex-programming and application
    types scratch their itch?? A way to turn former work skills into furture jobs. Or
    at least have a place to keep that interest alive in a hobby format.
    4) The need for some (many) small manufacturing / design houses to cut operational
    expenses will drive them to find solutions without yearly liscensing fee..don't
    want the operational overhead showing up on the bottom line...
    5) The inovation side of this CAD/CAM world is ABSOLUTELY stagnant. Inovative types
    Need to have a way to "explore" without an impossible entry price...and mystic
    built up from years of having the big guys control inovation & distribution of that
    stuff. A viscious circle....this is a way to break it once and for all.
    6) It would be FUN to have it work and go make impact..especially for the CAD/CAM
    refugees from all that past history & especially for those who infact were inovators
    from the past and are still around like "solutions" looking for a problem! Build an
    environment where they can be up and going quickly and the flood gates
    will open with neat new App's....(Take the infrastructure part of the development
    away so we can focus on....application stuff...the FUN stuff)..programmers would
    LIKE that if they could afford it...kinda like software LEGO's.
    Buy the way, the past may have had the fun and ability to inovate because
    the industry was new....I have learned over time there is NO shortage
    of VERY smart and inovative people..I would love to give the "new"
    generation an environment that was as much fun and exhilerating as we had. Isn't that every parents wish?
    7) The researchers of the world have been trying to take essoteric thought and put it
    into a forum they can show off with since the beginning of cyber time. They NEED
    something like this that for REAL...need a way to show off their research proof
    of concepts....they don't need to keep re-inventing a development environment as
    it is expensive. They ALSO don't need to be continually tied to someone elses only
    to see entire market segents to their research closed out because they are tied
    to a specific modeler or development environment.....
    8) General industry has been fighting the data transfer world since the beginning...
    this is the only way to solve it for the future.


    What are the real hurdles?

    1) Concensous of a language.
    a) My thoughts is the language needs to be one that has a PAST and will have a
    FUTURE. The past to draw those out of the wood work who have developed
    and would like to revisit that part of their life ...for FUN.

    The future so that the legacy of that past will be supported and with new
    plateforms as this hardware revolution continues. Also those who invest time
    now will have their evolving legacy supportable in the future.

    The language doesn't have to be flashy. Just stable as hell and accessible.

    2) A FEW people agreeing on an architectures....doesn't have to be a world wide
    political event. Just a few who can design and then implement enough as I had
    layed out above to break the "infrastructure" barrier down to where CAD/CAM
    functions can have a place to live in Shareware all can use.

    Having an environment thats useful will do two things: Will encourage new
    development because its easier and more instant gratification. Will begin to
    guide how application extensions are architected....catch twenty two isn't it?
    BIG responsibility!

    Oh yea...in a useful environmet with a functional capabilty set along
    with a packaging that can infact be used in the real world....business
    will start wanting even NEEDING to consider this option and then the
    down stream services business model will become real.

    3) Those FEW people staying on focus for a while....almost like a company?

    Again the thing that has hurt "shareware" type things in the past AND the difference
    between "shareware" projects and companies IS that direction and focus on
    infrastructure up front.

    My bet is there is WAY more talent and capability cruising this type of place than
    most companies have in thier roster....focused and results will happen.

    Why again do something like this???

    Look at all the techy types making a living off the internet. Independent small business
    supporting local business and also selling their stuff over the internet. Stuff like
    websites, bulletin Boards, support services, even products. This could be the same (on
    a smaller scale) but similar in structure. Gives a place for those who ARE going to be
    on the street as the industry contiues to shake out a place to make a living without
    the anchors which are...drifting. Give a place for those ON the street to play and keep
    their skills sharp. Gives a plave for those who been there and moved on but still are
    interested a place to play. Gives a forum for discussion thats REAL and the open
    sharing of ideas can really turn into a 800lbs gerilla of a software development
    environment and therefor set of applications...


  • #11
    Registered
    Join Date
    Feb 2006
    Location
    USA
    Posts
    25
    Downloads
    0
    Uploads
    0
    I guess the other thing that has struck me is looking at this web site and seeing ALL
    the excitement and inovation around CNC....the software side needs to follow. Right
    now looking at this industry after 10 years is SO dissapointing!!! its really a case of SOSDD!!!! Amazing.


    More reasons...lets say this infact does happen....there will be a feeding frenzy when the products start becoming accepted in industry to migrate business to the new. Yet another business plan to sell services.

    The FIRST BIG GUY to figure this out will have a leg up on the competition
    as THEIR environment and therefore services will be more in demand.

    It wouldn't suprise me to see one or more existing S/W companies see the logic of this as a way to get back into the game and do our work for us...imagin a competitve battle to get development environments into free ware because it will be infact survival...the only way for that to happen is to start and make this real. Then there is no risk. Either one is up and running and the rest need to follow...or if one gets close an industry developed environment will pop out that is better as a survival/new business stratagy. Either way everyone wins. I mean EVERYONE!

    No one ever thought IBM would dump the PC business and go service 15 years
    ago either.
    Last edited by weimedog; 03-26-2006 at 08:33 AM.


  • #12
    Registered
    Join Date
    Aug 2004
    Location
    US
    Posts
    2,825
    Downloads
    0
    Uploads
    0
    Just a note IBM never wanted the PC business....it was started by a group within IBM..which was quickly eliminated....

    Regarding "Open Source" the only person that believes they win is the buyer....well at least until they start looking for support or enhancements....all the big players that have "Open Source" as their corporate strategy have all learned that they must charge for something.....so they create development tools that are suppose to help deal with the "Open Source" environment .....

    It absolutely amazing how many software programmers work on "Open Source" stuff....I suspect most do it on their own time while working for someone else....just think..."How does someone support themselves, if everything they create is free?"


  • Page 1 of 12 123411 ... LastLast

    Posting Permissions


     


    About CNCzone.com

      We are the largest and most active discussion forum from DIY CNC Machines to the Cad/Cam software to run them. The site is 100% free to join and use, so join today!

    Follow us on

    Facebook Dribbble RSS Feed


    Search Engine Friendly URLs by vBSEO ©2011, Crawlability, Inc.