LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Opening LabVIEW source code

Hi,

This year LabVIEW celebrates its 20th birthday. A development environment that started from a virtual instrument development tool has grown into an outstanding general purpose visual programming language. Troughout LabVIEW history it has beeen debated if LabVIEW is a general purpose programming language or not. It defenitely is a general purpose programming language but maybe not as general as it could be. Every LabVIEW power user knows that even though LabVIEW has very many outstanding features, it also have very many shortcomings not present in the main stream programming languages and development environments.

Requirements for LabVIEW functionality keep raising as the number of LabVIEW users constantly grows. During the history of programming we have seen that it indeed is quite challenging to develop an excellent programming language. All the most popular languages are developed as a joint effort of the computer science community. This ensures that the design decissions made are in agreement with the state-of-the-art techniques of the present time and that all the possible shortcomings are considered when these design decissions are made.

LabVIEW as a proprietary programming language doesn't have the power of the computer science community. It may be extremely hard to recruit the best minds of the community to work exclusively for National Instruments already for purely geographical reasons. As a result NI presumably cannot keep up with the pace required to keep LabVIEW a high quality general purpose programming language. Until now NI has had central pantets protecting graphical design of LabVIEW. The most central ones of these patents have expired or are soon to expire leaving the field of graphical programming languages open for competition.

From this perspective it would be very wise move from National Instruments to open the source code for LabVIEW programming language and releasing the patents protecting the language for the use of the community helping to develop LabVIEW. National Instruments should see this more as an opportunity than a threat.

Opening the source for LabVIEW would gather new free-of-cost developers for developing LabVIEW. LabVIEW would improve and gain more reputation as a general purpose programming language. Students and computer scientists arount the world would get acquainted with LabVIEW as the barrier of expensive licenses wouldn't be there. LabVIEW has many features that are expected to be in a future general purpose programming language as natural support for multithreading. However it lacks many features that are required from a future general purpose programming language. As an open source language, LabVIEW could develop towards a generally accepted programming language of the next decade.

As the LabVIEW user community grows, also NI could take advantage of its expertise in LabVIEW integration. The growth of LabVIEW user community means that the number of pontential customers for National Instruments measurement and automation products grows and NI can take full business benfit from it. NI can still sell proprietary Measurement and Automation software and hardware for integrating the NI hardware with LabVIEW, managing measurement data and managing other measurement and automation related tasks. Only LabVIEW as a general purpose programming language would no longer be a source of income. Still NI could go on selling development environment for LabVIEW.

Open LabVIEW would also open new opportunities to NI. It could benefit from its expertise of software and hardware integration in the field of embedded computing. The embedded computing is growing fast as every device around us gains a microprocessor. If LabVIEW would be used as a general and most popular programming language for embedded computing, it would allow NI to sell number of new products and solutions to this embedded computing industry.

Open soruce LabVIEW is an opportunity for the LabVIEW community, for the computer science community in general and last but not least for National Instruments. LabVIEW community get improved general purpose programming language with all the state of the art techniques and functionality. Computer science community gets the opportunity to start developing programming techniques and paradigms for visual programming and this way solving the shortcomings of text-based programming languages bringing the programming for everyone. National Instruments would gain major advantages from LabVIEW becoming generally accepted programming language. The increasing user base would get NI a number of new potential customers and opportunity to start selling new kinds of products and solutions. On the other hand, if NI will not open LabVIEW source and tries to keep its monopoly, I predict that it may be hard to keep up with the recent developments in programming language technology. General purpose programming languages will evetually offer all the benefits of LabVIEW and much more. NI will lose it's position not only in LabVIEW but also as a provider of measurement and automation hardware.

I'd like to hear what you, the community, think of this issue.

Regards,

Tomi
--
Tomi Maila
Message 1 of 5
(4,633 Views)
As an addition if LabVIEW source was opened, NI could still keep the source closed for LabVIEW data acquisition and automation modules. This way NI could go on selling LabVIEW for the majority of the present customer base who are measurement and automation professionals and to whom the open source LabVIEW didn't offer enough properties.

Of course there is also a risk that other measurement and automation industry companies can take advantage of open source LabVIEW. If however LabVIEW is released under both commercial and GPL license, NI can very well protect against competition in the field of measurement and automation. GPL license guarantees that if an other company in the industry integrates their software with LabVIEW, this other software immediately becomes GPL licensed software and open source as such. .
--
Tomi Maila
Message 2 of 5
(4,564 Views)

I must say that I disagree with this idea.  One of the very fundamental -- and important -- aspects of LabVIEW is its internal consistency as well as its wide applicability.  Having been an "old lline" Unix hack, I know the message and promise around open source; however, I also know the incredible shortcomings that have come out of many of those initiatives.  We run our deployed product in Windows, as a develped LV app precisely so that I have a consisten, intuitive programming environment.  All of my development headaches throughout the life cycle of this product have come not from LV code but from the limitations of text-based code developed outside of the LV environment -- entities that have to be included via DLL calls and such.  That all works well enough but, when there are profound changes to those outside development environments, it greatly hampers the ability to maintain and expand the legacy code.  I have spent many days and weeks having to rewrite VB and VC++ code so as to make for easier integration and upgrading capability.  In particular the shift -- on Microsoft's part -- from WMP6x to later incarnations, forced a complete rewrite of some important multimedia components.  Similarly, changes to the <vector> class with the move to Visual Studio Net forced similar problems.

Open source still holds great promise but also great peril.  Too many cooks really can spoil the broth at times.

Message 3 of 5
(4,470 Views)
As a thought on an old topic, I think that this is a great idea.  Specifically, this is important as it would allow for the development of specialized graphical programming languages for other industries not currently pursued by National Instruments, the development of which would be a combination of destruction and reconstruction of the basic LV platform.  For example, specialized graphical programming languages for the art/entertainment and home automation industries are very much needed, but the users in these industries have slightly different needs.  The art and entertainment industry could take advantage of LabVIEW in studio and stage work, while the home automation industry could provide a basic graphical programming tool to allow end users the ability to customize the behavior of their home devices in a way that is intuitive and easy for novices or complete beginners.  By releasing the source code for LabVIEW, NI allows for these upcoming industries to thrive without radically altering their basic business strategy to pursue these markets themselves.  NI could even play in to these upcoming markets by producing chips to be sold to OEMs in those markets that integrate nicely with the LabVIEW platform.  Graphical programming should be for everyone, and we know LabVIEW is the best platform there is.
Message 4 of 5
(4,144 Views)

VG5 wrote: 
... Graphical programming should be for everyone, and we know LabVIEW is the best platform there is.

Nice post for a newcomer to these forums.

 

Thank you,

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 5 of 5
(4,135 Views)