I would not care so much about the definition of open source.
My ideal scenario is that code is open, can be improved and reused among commercial and non-commercial endeavors. I also would like that some of the value created by users of the open code flows back to the creators.
Individual commercial licenses do not create this ideal as they are monolithic and does not reflect that open source is a network of many dependencies.
Companies would be willing to pay for open source but they do not want to manage each node in their dependency graph individually. Thus the need for some centralized tax and redistribution system.
Yes I think it needs to be centralized and aggregated.
I am sure many companies realize that they gain value from open source. Thus they are willing to pay something. However they do not want to handle transactions with every transitive dependency they use. Just like a radio station doesnt want a contract with every artist. This is why isolated commersial licenses wouldnt work for anything but the very largest projecys.
I think an open source compensation system could work similar to how artists are payed when their song is played on the radio.
Radio stations in Sweden pay a fee to an organisation which distributes the money to artists in proportion to the amount of playtime.
Imagine a new type of open source license that mandated paying a membership fee to a global foundation to use the code commercially. Non-commersial use would still be free.
Companies would have to pay royalty to this organisation in proportion to their size or some other metric. The organisation would distribute the money to projects according to some usage criteria such a download count or similar.
For it to work there would have to be one or very few such organizations to that it is easy for the companies to handle. It should also not be very expensive for the companies. But even if it gets every company to contribute just a few thousands to open source it would still inject a lot more money into the system.
Why not use an open source license that requires payment for commercial use? Then technically companies have to pay for their use and should have no problem justifying the expense if it is small.
In this model there is probably a use case for an aggregated subscription service where a company pays one fee every year to an entity which redistributes it to open source projects proportionally by some usage metric. This is similarly to how artists are given royalty for how many times their song was used in a movie or played on the radio.
The license used would need to support the aggregate service mentioned above.
One thing that makes it so fast is the multi-core analysis of the code. Internally it parses every file in parallel since at the parsing stage there are no dependencies. When it comes to semantic analysis of the code it will compute the dependency tree and analyze it in parallel while also detecting circular dependencies.
The declarations in each design unit are allocated in their own arena allocator. The declarations in one design unit can link to other design units and even create circular references for implicit functions which usually reference the parent type. The reference are direct without having to use the atomic reference counted type Arc. This is because the units are analyzed in dependency order and a dependent unit gets a read-only view of the arena of its dependencies to create direct references.
When the user types in the editor the language server will invalidate the modified design unit and any dependencies and just re-analyze those so it is even faster when used interactively then when starting up the first time. Since invalidating a design unit invalidates all dependencies the segmented arena structure described above cannot create dangling pointers.
It depends on what you mean by possible. The vhdl_lang crate solves many hard problems required to do document generation such as parsing, disambiguation and connecting references. It solves it in a much more complete and better way then a regex ever could.
So vhdl_lang is a good base for a document generator but it does not implement one today. My hope with this project was to create a generic VHDL language backend that others could build tools upon instead of reinventing the wheel. I myself have focused on the language server and core library itself and not on document generation.
My ideal scenario is that code is open, can be improved and reused among commercial and non-commercial endeavors. I also would like that some of the value created by users of the open code flows back to the creators.
Individual commercial licenses do not create this ideal as they are monolithic and does not reflect that open source is a network of many dependencies.
Companies would be willing to pay for open source but they do not want to manage each node in their dependency graph individually. Thus the need for some centralized tax and redistribution system.