• 65 Posts
  • 753 Comments
Joined 3 years ago
cake
Cake day: June 11th, 2023

help-circle






  • The CLA can never override the code license. It handles the transition of your code into their code, and what they can do with it. But once it’s published as AGPL, you or anyone else can fork it and work with it as AGPL anyway. The CLA can allow them to change the license to something different. But the AGPL published code remains published and usable under AGPL.

    I’m usually fine with contributing under CLA. A CLA often make sense. Because the alternative is a hassle and lock-in to current constructs. Which can have its own set of disadvantages.

    A FOSS license and CLA combination can offer reasonable good to both parties: You can be sure your contribution is published as FOSS, and they know they can continue to maintain the project with some autonomy and choices. (Choices can be better or worse for others, of course.)







  • Think about whether TODOs will be revisited, and how you can guarantee that. What do you gain and lose by replacing warnings with TODOs.

    In my projects and work projects, I advocate for:

    • Warnings and TODOs are fine only in initial development before release/stability and in feature branches during development
    • TODOs are almost never revisited, so document state and information instead of hypotheticals; document opportunities over TODOs, document known shortcomings and risks, etc
    • If there is good reason to keep and ignore warnings, document the reasoning, and we can update our CI/Jenkins quality gate to a new baseline of accepted warnings instead of suppressing them (this pretty much never happens)

    Dotnet warning suppression attributes have a Justification property. Editorconfig severity, disabling, suppression can have a comment.

    If it’s your own project and you know when and how you will revisit, what do you gain by dropping the warning? A no-warning, but then you have TODOs with the same uncertainties?




  • Data-driven grant model. There’s no perfect model for distributing OSS grants. Our approach is an open, measurable, algorithmic (but not automatic) model, […] We’re finalizing the first version of the selection model after the public launch, and its high-level description is at osendowment/model.

    The fund invests all donations in a low-risk portfolio and uses only the investment income for grants, making it independent of annual budgets and market volatility. Even a modest $10M fund at this rate would generate ~$500K every year — enough for $10K grants to 50 critical open source projects.

    Currently standing at $700k.

    Regarding the model:

    We aim to focus our support on the core of open-source ecosystems — like ~1% of packages accounting for 99% of downloads and dependencies. Our model shall be a data-driven approximation of the global usage of the open-source supply chain, helping to detect its most critical but underfunded elements.


  • We onboarded our team with VS integrated Copilot.

    I regularly use inline suggestions. I sometimes use the suggestions that go beyond what VS suggested before Copilot license… I am regularly annoyed at the suggestions moving off code, even greyed out sometimes being ambiguous with grey text like comma and semicolon, and control conflicting with basic cursor navigation (CTRL+Right arrow)

    I am very selective about where I use Copilot. Even for simple systematic changes, I often prefer my own editing, quick actions, or multi cursor, because they are deterministic and don’t require a focused review that takes the same amount of time but with worse mental effect.

    Probably more than my IDE “AI”, I use AI search to get information. I have the knowledge to assess results, and know when to check sources anyway, in addition, or instead.

    My biggest issue with our AI is in the code some of my colleagues produce and give me for review, and that I don’t/can’t know how much they themselves thought about the issues and solution at hand. A lack of description, or worse, AI generated summaries, are an issue in relation to that.

    /edit: Here is my comment on the post four months ago.




  • I’ve been using TortoiseGit since the beginning, but it’s Windows-only.

    In TortoiseGit, the Log view is my single entry point to all regular and semi-regular operations.

    Occasionally, I use native git CLI to manage refs (archive old tags into a different ref path, mass-remote-delete, etc).

    Originally, it was a switch from TortoiseSVN to TortoiseGit, and from then on, no other GUI or TUI met my needs and wants. I explored/tried out many alternative GUIs and TUIs over the years, but none felt as intuitive, gave as much overview, or capabilities. Whenever I’m in Visual Studio and use git blame, I’m reminded that it is lacking - in the blame view you can’t blame the previous versions to navigate backwards through history within a code view. I can do that in TortoiseGit.

    I’ve also tried out Gitbutler and jj, which are interesting in that they’re different. Ultimately, they couldn’t convince me for regular use when git works well enough and additional tooling can introduce new complexities and issues when you don’t make a full switch. I remember Gitbutler added refs making git use impractical. jj had a barrier to entry, to understand and follow the concepts and process, which I think I simply did not pass yet to have a more accurate assessment.

    I did explore TUIs also as no-install-required fallback alternatives, but in practice, I never needed them. When I do use the console, I’m familiar with native git to cover my needs. Remote shell: native git, locally: Nushell on top of native git for mass queries and operations.