Stuff you post in public could end up staying in public forever… It’s like there are consequences for our actions…
Stuff you post in public could end up staying in public forever… It’s like there are consequences for our actions…
Yeah, but when someone is completely new to programming, it’s best to start somewhere easy where there are quite a lot of tools to help them fix bugs in code. In C# IDE, it have a lot of visual indicators to help them identify bugs, debugger is pretty comprehensive and integrated, and there are quite a lot of resources to introduce them to programming in forms of videos and documentations and community. The goal of learning C# is not to only program C#, but to get them acquaintances with general programming such as for loop, memory management like using disposal in C#, recursion functions and so go on. They can use C# as a starting point to just basic programming and then once they are comfortable, they can move on to other language that they are curious about.
One of the thing I recommends is to start small. Going from Python to C is quite a leap, because C language requires some fundamental computer science understanding when you write codes that offers no railing or safety net when you make mistakes. I would actually suggests that you start with C#, it is very forgiving when you make a mistake and have various tools to help you identify the bug in your program.
Big part of C# is that there is available video tutorial on an introduction to C# provided by Microsoft and it have subtitles. The biggest reason why I would recommend C# to beginner is simply that they offers a lot of resources to help beginners understand the fundamental of programming in general. They have tons of books, video tutorials, vibrant community, and so forth. Also C# can run on wide range of platforms, Windows, Linux, Mac OSX, Raspberry Pi, and so forth. Once you master C#, you’ll find that a lot of the knowledge you gained from it is transferable to C, C++, Rust, DLang, and so forth.
deleted by creator
That’s an interesting dilemma when you bring up Android. I have always considered android device as a hardware compromised device and that it shouldn’t be used for highly confidential data to an extent that you might be using PGP/GPG for.
But you could have all of your PGP/GPG centrally managed on a Linux system with android device having it’s own unique keypair that is signed by your root PGP/GPG keypair on your Linux system. As for software for managing GPG/PGP on Linux system, I just simply use KGPG which does the job plenty well. If you have to use PGP/GPG on Android Phone, then I recommend sticking with f-droid repository for PGP/GPG key management app, not Google Play Store.
OpenKeychain Package on F-droid
Few use-cases for GPG/PGP on android is encrypting email or chat, but application integration is limited to select few software like K-9 Mail or Conversations.
–Edited to add–
Why the heck did server spam duplicates of my comments? :(
Currently early atm, but generally, I got the backend code sorted out where we have cross-platform windowing context, vulkan code, accessibility protocol, and so forth. The challenges are the front end GUI, making it looks pretty, it’s still have a way to go.
And of course the documentation which is still WIP. I wrote other docs sometime like this for C language development community which I have put off for a while since I worked on few projects:
The best part is… I solo-develop all of it… facedesk
I don’t think it’s that revolutionary, but there are some things that doesn’t exist in current GUI Toolkit worlds.
The GUI Toolkit I wrote utilize few things:
That on top of my head, I wanted to have a GUI that focuses on making it easier to extend while keeping it conventional for those familiar with Windows Forms on Microsoft Windows and eventually WPF if time allows.
That the gist of why I wrote my GUI Toolkit and I have spend 4 years working on it, it’s reaching the point that it could be ready for prime time basically.
The licenses you brought up is interesting and it could work too.
You sum up what I thought about as well, yep. There are compromises to each license and obviously the loophole that is presented for each one. One of the idea I was exploring is licensing my GUI Toolkit (alternative to GTK and QT) something similar to Community License in Visual Studio (it allows commercial use for personal/small business and if organization is larger than that, then it would have to purchase a separate license.)
Well corporations can use the given work too, it just that they also have to disclose their derived work of the given code and have it licensed under GPL or AGPL as well. That the general idea of copyleft.
That one of the reason why I brought up this thread to bring up discussion on some of the other ways we could address this while retaining commercial use.
My interpretation of non-commercial licensing is that it would allows the code to remain open, it just that it may mandates companies to purchase commercial license if they wish to peruse such project commercially. There are some projects that practiced dual licensing schemes.
Thank you for posting this! It’s very interesting on how it can be applied on top of existing open source licensing. I’ve got some reading to do!
That a pretty interesting license, I distinctly remember that there were an argument on the internet over that license. So I took the time to review what happened, there were few criticisms for it:
Conflict over “Open Source” Definition - Open source license must allow the software to be freely used, modified, and shared. The SSPL adds additional restrictions, particularly the requirement to open source not just the software itself but also the software used to offer the program as a service.
Restricts Freedom to Use the Software - It requires that anyone who makes the software available as a service must release the source code for their entire stack.
But none the less, this license is an interesting one and an inspiration could be drawn from it to not go to that extreme stipulated by SSPL, but to have some lines drawn to address some of the concerns around AGPL loopholes.
You raise a good point on that consideration.
From what I understood about the copyright law is that you could create a separate license apart from non-commercial license and you could still sell a commercial license (if all contributors agreed to it, CAA/CLA agreements been signed, or some other agreements in place.) A project can have multiple licenses. Please correct me if I’m wrong however.
And it sucks that it such a massive discouragement from a lot of developers who shared similar concerns as I have about this.
Absolutely, your understanding mirrors mine. The re-licensing process is a complex one, particularly in the context of FOSS projects with multiple contributors. It requires unanimous agreement from all contributors, unless a Contributor License Agreement (CLA) or Copyright Assignment Agreement is already in place, which can simplify the process.
As for the scenario where a distro continues to maintain a hard fork of the project from the point before re-licensing, it’s certainly possible. However, as you pointed out, it would place a substantial burden on the distro in terms of resources. They would need to maintain and update the code independently, which might not be feasible or desirable.
In regards to the proposed license conditions, “Sources must be publicly available if repackaged” or “Cannot be packaged for sale”, it’s worth noting that the first one is already embodied in the principles of GPL/AGPL. The second proposal, however, raises more complex considerations. This approach would indeed help address the issue of commercial exploitation that I initially raised. But as you’ve mentioned, the challenge lies in navigating the re-licensing process.
If a FOSS project is already licensed under a different license, a re-license would require obtaining permissions from all contributors, which might prove to be a logistical challenge. Therefore, any change in the licensing model needs to be thought through carefully, taking into account not only the potential legal complexities but also the broader implications for the open-source community.
Disclaimer that I’m not a lawyer.
Yeah, MIT license is absurdly free and flexible, so basically you just need to retain copyright notice and license copy.
That I agree, I always see it as a critical necessity to always document everything when more than 1 developer work on the project. It like making a trade:
With ChatGPT, it seems to reduce cost for documenting while same can’t be said for debugging.
I know, just not sure the quality it offers and I am 99% sure that they train it on the piles which is a huge nearly 1 petabyte dataset that includes GitHub code. They are likely doing the same thing GitHub did when training copilot.
Yep, streamlining the process to write a new compiler. Most compiler development utilize something like Bison/Flex or by handwriting their own lexer/parser, but those things doesn’t generate AST tree and you still have to read/modify that AST tree before reading it to generate the final resulting code.
The sheer absurdity in scale of development increases when you realizes that you also have to do the same for LSP server.
Melosynthos is came up with to think about streamlining all of this in one unified workflow.