Open acmlira opened 3 years ago
Indeed, it violates OSI item 1, and GNU freedoms 1 and 3. Violates freedom 1 in the sense it does not support "change it so it does your computing as you wish", not the "study how the program works" part.
Some programming choices made years and years ago creeping it's way to these days are partially to blame. Like, there is little tooling for TotalCross. Want to create TC-bytecodes? Use tc.Deploy
so that it transform JVM-gibberish into TC-gibberish. Want to assert when the GC is called? You may "tweak" the VM so that it produces a sound when it awake from it's slumber to clear the memory, but there is no way that you can control it beyond forcing it not to be called. Want to know how the memory is used, and which methods are using the most of the CPU? In problem again.
For tooling, I started a workaround to deploy multiple dependencies in a TC app. It is the tc-compiler-help
. It started as a TotalCross project, but then I needed to maintaint and evolve it in another job, so I forked it. But that is just a helper, it still is "under secret" how to convert JVM-bytecode to TC-bytecode. No extense documentation like JVMS. The lack of this information made me start a (for now halted) project to reverse engineer the open sourced tc.Deploy
to understand how this convertion takes place. Also to avoid the many workarounds in the tc-compiler-help
to avoid calling 2 subsequents tc.Deploy
under the same JVM because it uses lots of static attributes.
Another thing was posted by me in the late GitLab issue tracker, issue #428. There is no way to list the contents of the .tcz
. Neither in the application, neither in some tooling just to check if my method is, indeed, where I expect it to be.
So, tooling and standards are things that, when not met, pulls back some steps towards trully open-sourceness.
Hey guys let's take back a few months ago when
totalcross
became an open source project.Purpose
As a product developer I saw our movement together very similar to the movement that Linus Torvalds made in the early years of the Kernel, we want people to see what we've been up to:
But that's not all, we want people to contribute to what we have done:
And these were the same reasons for the emergence of several software and foundations that today regulate and assist the community of open source projects. Among them the GNU project, the Linux Foundation and the Open Source Initiative as main exponents. They help to establish the basic requirements for an open source project, as example, for GNU:
For Open Source Initiative:
With that in mind and our experience so far, we may be doing something wrong.
Current workflow
First let's understand a little bit of our development in this flow:
We can see that our process, today, involves little the user and we see a clear division of roles (contributor != user). Some considerations need to be made, from top to bottom:
Knowing a little from the developer's point of view I think it is already clear what the problems are.
The main issue
In view of the arguments presented in the previous section and the summary made in the previous sections, we can conclude that:
It was very hard to write this 😢
And because I said that let's get to the facts here:
Not only of problems if the human being lives, we are looking for some solution!
My sugestion
I want to start the discussion with this issue and I leave here the motto that I think we should follow:
I hope that the largest number of contributors and stakeholders will contribute, agree or disagree with this issue. I feel that we need to work on this to avoid new version delays and issues like these: #165 and #167.