LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Can I create own graphical programming IDE inspired by LabVIEW?

Hi all,

it's quite time what I'm programming in LabVIEW and I love it from first time I saw it (what was few years ago). Because I know that graphical programming is another approach how to transfer idea between human a computer I would like to create own graphical programming IDE (I did some experiments and some prototype is under construction) so at this point I got question if I can legally create it and release it as open source?

To better understand my question, graphical representation of code would be similar as LabVIEW, because there is probably no other way how to represent loops, case, ... it would be mostly like just block diagram editor what we all are using. I'm attaching picture below.

It's not that I want to replace LabVIEW (how I could, NI is company where employees are every day working on it, I'm just one :D) but I would like to create somethin open-source what everybody can use it for small home DIY projects (to give people something back after years of learning programming from internet) and what is not tight by commercial licence.

I briefly read LabVIEW patent (it's really nice documentation where is told lot about internal functionality) but because I'm not lawyer I'm not sure what all is covered. So in short, can I program IDE for graphical programming language inspired by LabVIEW, put it on github without being struck by NI that I'm violating some of their intellect property?

0 Kudos
Message 1 of 19
(2,950 Views)

Some of the LabVIEW ideas and symbols such as the loop boxes and similar are actually patented. The first few patents have since elapsed so are probably not enforceable anymore but there still remain enough that are still active.

As such it's definitely tricky to release your own version of such a thing be it open source or not. There have been similar attempts in the past that all have stranded rather sooner than later, some commercially driven ones after NI got involved and either bought them or made it clear that they do not like patents being violated. The open source ones I know of stranded on the fact that such a beast is a very large project that a single programmer hardly can handle in the longer run. And once you start to get other people involved you loose a lot of time about philosophical discussions on how things should be solved or even represented.

 

As a hobby project I would not expect NI to be very aggressive about this, but they do have a legal obligation to defend their patents in order to not loose the right to enforce them with other commercial parties trying to copy them. And as always, only a lawyer can tell you more, but generally they will charge you an arm and a leg and then say that it can freeze or thaw and that the only way to be sure is to risk a legal battle in front of a court.

 

From the look of your graphic it would seem to me that it is a mixture of HP Vee and DASYLab. DASYLab was acquired by NI years ago under an undisclosed agreement. The general thoughts back then were that DASYLab (and probably NI too) did not want to try to battle this in front of a court and decided to just settle it out of court.

Rolf Kalbermatter
My Blog
Message 2 of 19
(2,914 Views)

Although this isn't an answer to your question, it might be worth knowing that LabVIEW 2020 will be released with a Community edition, free for non-commercial, non-academic use.

 

I suppose you'd have to read the (perhaps as yet unpublished) licence to know exactly what will/won't be allowed, but for "hobby use", this will be a free version of LabVIEW (complete with Application Builder and the Professional edition tools and so on).

 

It may make you less enthusiastic about investing so much effort in creating your own version of the same...


GCentral
0 Kudos
Message 3 of 19
(2,862 Views)

Hi,

I know about Community Edition since next day they annouced it and I'm pretty excited about it and really looking forward. Before I started thinking about creating own IDE for graphical language I created module for LabVIEW which translate block diagram into C++ code year and half ago (https://github.com/LubomirJagos/LabVIEW-Universal-Transcriptor), at that point I was excited that it was running (and even better than I expected) but still there was LabVIEW 2014 for 50$ so I was thinking about taking it to next step and create something really accessible for people.

First I thought it will be hard, but then I was thinking about it, how to do it and at the end it shows up, that's easier than I thought at the beginning. Really, that's reason why I started to implement simple things and it went faster than I expected (that was half year ago, then I had some health issues so I postponed it for 3 months) and now it's still prototype but it is obvious there is simple way how to implement graphical language so I would like to finish it and release just for fun and maybe it will be useful for somebody else.

I'm not doing this to replace LabVIEW or make something similar, but because I was thinking about concept of graphical programming and by my opinion it's next step (or approach) in programming, let's say how there is assembler -> C -> C++ then graphical programming is over C++ and this would be my proof of concept. Even many algorithms make more sense in graphical form than in text based expression.

So this is my project to shows some concepts (I was studynig RF where we had done lot of signal processing) no to replace LabVIEW. I really like it and I spent years ago summer internship at NI, I don't intend to violate their intellectual property I just got inspired by their G language and want to show that this concept is even more powerful than they are presenting, but for this I would like to create my version.

0 Kudos
Message 4 of 19
(2,849 Views)

LabVIEW is not just the graphical code you see, but the entire chain how graphical code is compiled into an executable with fantastic performance, inherent parallelization, and stability. You would need a building full of highly paid experts and 20+ years to come even close. Chances are that by the time you get there, LabVIEW has evolved even further. 🙂

 

Sure, some tiny limited proof of concept could be done by one person with independent income, but why bother. If you are an expert programmer with great ideas, maybe ni will hire you and you can contribute to the real deal. 😉

0 Kudos
Message 5 of 19
(2,839 Views)

Hi, that was also how I saw LabVIEW when I started to learn it and use it, after what I got experience in using it and read whitepapers I was surprised how simple could it be done inside. First paper what I saw about it's internal structure was this paper http://www.ni.com/tutorial/11472/en/ "LabVIEW under hood" and I thought it's just some high concept, but now I think that's really most of described like it is in reality. It convert diagram into tree and give it to LLVM what is compiler for different languages (https://llvm.org/). Sounds simple and I think it's almost whole magic how it works, hard work come when somebody, in this case NI is taking care about their portfolio to make it work. I cannot imagine I would have over hundreads measurement devices in portfolio, every in few series and I have to manage SW+HW and solve support and run whole ecosystem.

Anyway, I would like to create some simple graphical language and I would like to know if it's ok to make translating diagrams like below into code.

 

0 Kudos
Message 6 of 19
(2,823 Views)

I think because LabVIEW looks so simple to understand when looking at the block diagram, you are vastly underestimating the amount of work that is going on under the hood to compile that into machine code.  Whether "hundreds of measurement devices" or just one, it is tremendously complicated.

 

Even before you get to the compiling part, the amount code that goes into building the graphical block diagram has to be very complicated.

0 Kudos
Message 7 of 19
(2,812 Views)

You might want to look at the links in this section, (and some of the other sections too) it has been done (more or less) many times. Does your ideas have significant differences to what's already there? (yes, that list is probably not complete).

 

Since we think visually, we cannot communicate well with words alone. Her's how your idea looks to me in a nutshell 😄

 

 

HomebuiltLabVIEW.png

 

Message 8 of 19
(2,798 Views)

@altenbach wrote:

...

 

Spoiler

 

HomebuiltLabVIEW.png

 


In a head on collision, I would bet on the left one.

 

 

I once did a project that allowed a user to create GUIs to simulate real world nuts-n-bolts button, meters, switches etc. It took ages to just write the design doc.

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 9 of 19
(2,778 Views)

For instance one missing from that Wikipedia page (and looking pretty similar to your idea) would be http://www.zaluum.com/. It's one of the Open Source projects I was refering to. It started around 2010 and the last activity including user comments seems to be about 6 to 7 years ago.

I think certain structures in it look dangerously close to LabVIEW and might have been a reason for legal concerns.

Rolf Kalbermatter
My Blog
0 Kudos
Message 10 of 19
(2,776 Views)