Threads for raymii

  1. 4

    I’m a simple man, I see dragonfly bsd, I upvote. Even though the article doesn’t explicitly mention what the issues with Dragonfly are. Anyone has a clue what issue is with what bsd?

    1. 9

      The auto disk partitioning is surely OpenBSD. Probably also the VMware one. Oh, and the disk image versus iso image is most probably also OpenBSD :)

    1. 1

      This is a really interesting series and I’m curious to see how it goes for you as I’ve been pondering similar things for a project I’m working on.

      One thing that’s crossed my mind is: the GPL is about allowing people to make changes and distribute those changes. What do you think of a scenario where someone buys your app, makes some changes to suit themselves or a different use case then publishes the code on GitHub, which they’re allowed to do? They don’t even really need to make changes, they could just put the code online for whatever reason.


      There have been recent issues over at Elementary and one of their founders has mental issues, so not the most stable example, but still, an example.

      This seems a little unfair and an unnecessary detail. Elementary has been funding itself for years (at least 7) with this model so any recent events don’t really have an impact.

      1. 2

        What do you think of a scenario where someone buys your app, makes some changes to suit themselves or a different use case then publishes the code on GitHub, which they’re allowed to do? They don’t even really need to make changes, they could just put the code online for whatever reason.

        I’m perfectly fine with that. If I wasn’t, GPL would be a bad licensing choice. My entire GitHub profile is filled with open source, and the plan was to put leafnode there like the rest. But, this is an interesting avenue to explore, both out of curiousity and because it’s different that what I previously did.

        This seems a little unfair and an unnecessary detail.

        Yes, re-reading that part makes it sound way harsher than I intended. Will remove that once I’m near my workstation again.

        1. 2

          What do you think of a scenario where someone buys your app, makes some changes to suit themselves or a different use case then publishes the code on GitHub, which they’re allowed to do? They don’t even really need to make changes, they could just put the code online for whatever reason.

          I’m perfectly fine with that. If I wasn’t, GPL would be a bad licensing choice. My entire GitHub profile is filled with open source, and the plan was to put leafnode there like the rest. But, this is an interesting avenue to explore, both out of curiousity and because it’s different that what I previously did.

          There are two other problems that I’ve seen with folks who try the approach that you’re doing.

          The first is a variant of the innovator’s dilemma. You’re doing the work of creating the thing, and you’re making it a bit harder for folks that don’t pay you to use it. Someone else who packages it has far less work to do than you. There’s nothing stopping someone else from building GPL’d installers and putting instructions somewhere public. They don’t have to spend any of the effort to create the thing in the first place, so they can spend more time on the packaging than you. They can easily produce something easier to install than you can, for the same investment in effort. You’re explicitly framing the sale as the end user paying for you to do the easy thing (packaging), not the difficult thing (writing the code in the first place), so you have to compete with people who do only the easy thing.

          The second problem is if someone extends your code with something under a different but compatible license. For example, if they wrap it in something AGPLv3 (since you didn’t specify a GPL revision, I’m going to assume that you meant the latest version). Their fork is under a more restrictive license, will you want to take their changes? Forking is a fact of life for any open source project but when there’s a paid option then some people will intentionally license their changes under a license that they believe that upstream won’t take so that they’re not releasing work to support a paid product.

          The cases have a lot in common. You’re relying on giving 95% of something away for free and charging people for the remaining 5%. Other people can easily provide that 5% and charge for it, give it away, or give it away in such a way that you’re likely to be unwilling to merge it into your version. In the latter two cases, they can add other things that differentiate their version from yours. What’s your expected strategy here?

          1. 1

            Every libre-non-gratis project sees gratis distribution one way or another. Conversations has several gratis forks, yet the author still makes enough from the official app to keep going. Synergy was the most popular version of their own software for many years. Etc.

            1. 1

              Thanks for mentioning the two. synergy has only an open core left, but I added a section on conversations.im to the page

            2. 1

              Do you have example cases of the scenarios described happening? I already had trouble compiling the list because for sale GPL software is quite rare. I’d love to expand the list. One example has been given in a comment below, another messaging client.

              If people make use of the freedoms the GPL gives them, how is that not a wonderful thing? I do not expect to make a profit, if I a few years the running costs are covered that would be great but I even doubt that that will happen.

              The return value for me if not in the money but in the experience gained. Both with the Qt framework as well as the distribution side. The extra Qt experience has lead to a promotion at work and the appimage / installer part had extended my knowledge which was also directly applicable at work. A few technical challenges gave me more insight in lower level multiplatform threading and concurrency limits with c++, (looking at you, recursive mutexes) which otherwise I wouldn’t have to dive into so deep, so all in all, even without sales I already got a large amount of value back.

              And to be honest, if someone forks my app and changes or extends it, it means it (partly) fills a need they have. Enormously flattering that would be.

            3. 1

              I’m perfectly fine with that. If I wasn’t, GPL would be a bad licensing choice. My entire GitHub profile is filled with open source, and the plan was to put leafnode there like the rest. But, this is an interesting avenue to explore, both out of curiousity and because it’s different that what I previously did.

              Fair enough. I’m curious to see how it works out too. :)

            4. 1

              has mental issues

              Yeah, this feels off-base. Lunduke is not a good-faith arbiter here.

            1. 10

              Maybe it’s time for a SerenityOS tag?

              1. 1

                If you want to stay on the c++ side, Qt (Qml and Widgets) compiles to web assembly. Have used it for a few demo’s and it works well enough.

                1. 1

                  Not blank for me. This page returned an HTTP 500 for me temporarily after leaving this comment though. Perhaps it’s something with your account. Try reproducing when logged out, e.g., in an incognito tab?

                  1. 2

                    The 500 was a bug I’ve fixed, sorry about that.

                    1. 2

                      I had a blank white page on the comments here as well earlier today: https://lobste.rs/s/utxmbm/qt_5_15_3_opensource_released but I was on mobile, so couldn’t debug any further. Seems to work okay now.

                  1. 1

                    I had troubles reading this page because the ads are pretty big and with pictures, making it hard discerning what is the actual content and what is an ad. And there were so many of them :(

                    1. 2

                      I’ve adjusted the AdSense settings to not include in page ads. I thought I had done that earlier, somehow it was changed back. Should be toned down quite a lot now.

                    1. 7

                      For anyone wondering, the latest LTS commercially is 5.15.8. The Qt Company is mandated by the agreement they have with KDE to release all the Qt versions they release as open source no later than 12 months before they released the commercial one. This is the reaction to that, Qt 5.15.3 LTS was released last year.

                      1. 2

                        If development is happening in private branches, does this mean that there are no contributors to Qt from the wider community?

                        1. 1

                          The KDE project contributes, but the Venn diagram of KDAB or Qt employees and KDE contributers has quite some overlap AFAIK.

                          But, effectively after their LTS change, your contributions only make the CEO’s Yacht larger, no reason to do so because no-one benefits except for them.

                        2. 1

                          I seem to remember some drama a while ago regarding the KDE agreement - whatever happened to that?

                          1. 2

                            This release is a direct consequence of that agreement. I did a small write-up with some backstory and back links: https://raymii.org/s/blog/Qt_5.15.3_OpenSource_released.html - if I would submit it as a post the @pushcx would merge it with reason “merging hot take into main story”.

                            1. 1

                              Wow, that makes me really want them to forget to do an open source release. A BSD-licensed Qt would be amazing.

                        1. 52

                          I like the fact that lobste.rs is strictly programming and computing related instead of business or social. If I want that I’ll go to the orange site, more than enough drama there.

                          1. 2

                            Good point. I like both HN and Lobsters. But I agree that Lobsters should be more focused than what HN is.

                          1. 1

                            Fun read, I’m in the same ballpark. Development in Qt is easy, mobile publishing is way harder. On Android you can just put an APK somewhere an call it a day, but people expect you to be in the app stores…

                            1. 1

                              So is this using provider independent (PI) IPv6 space, and would you be able to get your residential ISP to route this to your home?

                              1. 5

                                So is this using provider independent (PI) IPv6 space

                                Yes

                                would you be able to get your residential ISP to route this to your home?

                                that would be very cool, but the post is using tunnels (wireguard) to bring the network from their datacenter based VM’s to their home

                                1. 3

                                  blake is right but I’ll try to give more details:

                                  is this using provider independent (PI) IPv6 space

                                  For my two /48s from RIPE territory, one is PI the other is PA. Not sure if something exist in ARIN land, but it’s like a PA.

                                  would you be able to get your residential ISP to route this to your home?

                                  I really don’t think so. My ISP and the ISP which own the last mile, both have IPv6 prefixes, so me not having IPv6 access is not because of a lack of prefix.

                                  My understanding of how it works in IPv4, is my ISP “gives” the IP addresses to the last mile owner so they can do the put them on the last mile equipment. So it would mean I would need to give my ISP the IPv6 who would then give them to the last mile owner.

                                  1. 2

                                    Very few (if any?) eyeball networks (consumer ISPs) will send you full routes. Most people’s routers can barely route with a default, let alone handle the 3GB of RAM for each full table from ISPs.

                                    If you bumped up to commercial you may be able to find something? It’s going to set you back so much more than anything else because of the nature of peering.

                                    Sprint/T-Mobile and Comcast can get you circuits with BGP over them, but they obviously are not home style circuits (or even the basic commercial level of their normal service). Also, you’re still on an eyeball network, so you’re not getting much advantage from using BGP except for very basic fail over (losing all wireguard links from the article).

                                    The third aspect of this is that they are already advertising from near home. Most ISPs will only allow you to specify continent level preference. Their home internet probably doesn’t have a shorter path to anything than the VPC in Toronto except their own eyeball network. It would probably never be preferred for ingress. Then egress may all dump to the home ISP and you’d have to deal with asymmetric disputes (incoming ISP is fine with third ISP that home ISP is having a dispute with) and outages (eyeball network ISP ‘s router is oversubscribed and dropping outgoing packets only). You’re just going to depref all routes from that ISP anyhow. It would be fine as a third tier of peering usable as a fallback. Especially if you path prepend a bunch for incoming and depref locally for outgoing.

                                  1. 14

                                    Better theming support, with a bundled theme for a more modern look.

                                    No screenshot? Wine has been rocking the Win95/98 look for a very long time, I wonder what they’ve chnaged.

                                    1. 22
                                    1. 1
                                      1. 6

                                        I often use the osdev tag for OpenVMS or mainframe posts, but this feels like one of the few actual proper uses. Great find!

                                        1. 8

                                          As much as I love 2000 (great mouthfeel, last time Microsoft felt like they were firing on all cylinders), all these guides feel like the schizophrenic ramblings of teenagers with too much free time. I know things and this just feels like Pepe Silvia-esque cargo culting.

                                          And even if I did somehow follow all this, I still wouldn’t really have a working browser nor tools I’d need like Zoom. I still love to mess with Windows 2000, but it’s just not a daily driver anymore. Let it go.

                                          1. 4

                                            I tend to agree but I can absolutely see a use case of keeping a VM with just that one version of Office (you like, or own, or whatever) installed, if that is what you want to use and installing it locally or WINE is not a solution.

                                            Also this isn’t as far-fetched as you’d think, I’ve had this one version of Office 2000 still installed on my parents’ computers until at least 2010-2015ish, and I personally hate the newer versions, whereas that one was kinda ok.

                                            1. 3

                                              Yeah, I absolutely use VMs extensively - they’re the best option for running fickle old software. I just don’t do this wacky kernel patching for newer API thing that requires slipstreaming or whatever.

                                              1. 2

                                                Slipstreaming has been kinda common back then even when it was current (I think I did it for XP and 7 myself, not sure about 2000) and I don’t find the task or time investment overly much for this kind of undertaking.

                                                1. 2

                                                  I think there’s two different things here:

                                                  • The guide is suggesting slipstreaming updates, presumably because they can’t get Windows 2000 to talk to Windows Update anymore (TLS version, SHA256 signing, etc.)
                                                  • Actual kernel patching in this guide happens by installing something later, and isn’t using slipstreaming. Back then there’s no driver signing/patchguard requirements, so kernel mode is freely manipulable without needing magic tricks.

                                                  As much as I love the Windows 2000 UI, XP is more practical in a VM today. It still has DOS support, runs apps quite a few years newer (without kernel patching), has an extra 9 years of updates if you include POSready, and things like Windows Update can be made to work.

                                              2. 1

                                                I almost always install my own Dutch copy of office 2003 in Wine, just because that’s the version of office in most productive in and grew up with.

                                              3. 4

                                                What happened to having fun? :-)

                                                I wouldn’t do it either, yet I am the kind of lobster who likes to play with other old OSes where I can’t get a working browser, let alone Zoom.

                                                Still I suggested the removal of the historical tag, since Windows 2000 does “happen to be old”.

                                                1. 3

                                                  I like having fun, but these guides are for people deluded into thinking they can use it as a daily driver.

                                                  1. 4

                                                    I didn’t read it as a recommendation to do that, or any kind of zealotry to try to persuade people to follow that - simply instructions. That said, there’s no need for ad hominems, even if they would advise to do this as a daily driver. The very headline “Retrocomputing” plus “So, you want to use Windows 2000 in 2021?” could be read as “..at all”.

                                                  2. 2

                                                    ReactOS also runs old Windows software quite well, and it’s free software that is getting improved (even if slowly). I find that project much more fun to play with and participate in than performing necromantic rituals with old proprietary OSes.

                                                1. 2

                                                  Doubted to submit this link due to the commercial project behind it but the possible incorrect free in the PlayStation emulator code is quite technical. But still, bordering on an ad.

                                                  1. 1

                                                    The article title clearly indicates that the topic is not the error in the code, nor the challenge of flagging such errors statically while avoiding false positives, but rather the conversation that ensued in this case.

                                                    The title reads like gossip. Why would I care, but for the intrigue? It says nothing of static analysis.

                                                    The blog name and description give no indication that the blog is an outlet for corporate articles, but in addition to various links to the PVS-Studio site, there’s an ad and download link for it on the right, which seems a bit too convenient.

                                                  1. 7
                                                    1. 6

                                                      Yeah someone on Reddit mentioned it as well. I always use an AdBlocker so I don’t see the ads myself, but with that turned off, it’s horrible. Years ago when I set it up it was just a Google banner before the article, but now it’s all over the place. Not sure why that has changed, but I also don’t actively read the emails Google sends about AdSense. Going to look into it because it’s way too much.

                                                      1. 3

                                                        Can’t edit the previous comment with an update, but I’ve changed the settings with AdSense. Some kind of experiment was set up with in page ads, that should be disabled and back to just the banner at the top. A screenshot with screenshot.guru shows me that it seems to work: https://i.postimg.cc/cHBPN77g/4b52g0m-GV-qp8-AAAAASUVORK5-CYII.png

                                                        1. 2

                                                          I’m still seeing tons of ads inline. Why not just turn off adsense? Is it really bringing in enough money to justify them inserting ads into your blog?

                                                          1. 1

                                                            It brings in about 70 euros per half year, or whatever is the minimum payout term for AdSense. It covers the hosting and domain registration, so it’s worth it. For the amount of unique visitors it seems quite low (10k per weekday, about 8k in weekends or holidays). Which is to say, large part of the visitors have AdBlockers on.

                                                    1. 5

                                                      The big red L square has a Christmas tree, 🎄- how cute!

                                                      1. 1

                                                        One thing I’d like to read is your thoughts on why you chose the GPL versus BSDL (or another permissive license). Also, one thing I learned (at least, in the US) is that if you are the maintainer/owner of the GPL code, you can still do what you want with it, including keeping it proprietary. That violates the spirit of the GPL, but still follows the letter.

                                                        1. 11

                                                          I want all software to be open source under the GPL, meaning source available and everyone required to also open source their modifications. The viral nature some people complain about is my main selling point. For the greater good that is the only viable option, since taking a piece of software and not contributing back but just profiting is only good for “increasing shareholder value”.

                                                          The BSD style licenses permit such behaviour. GPL forces companies to contribute back. Theory does not always holds up, see many Chinese router makers or the recent OBS clone by some Chinese firm, but it provides a base to stand on in case of such violations.

                                                          With the GPL everyone benefits instead of a few already wealthy folks getting wealthier. I literally live two villages next to the shipyard that is building Bezoss rumoured next yacht, without all the open source code that would not be possible. But the original creators? They probably dont see a penny. (which might be completely fine with them, since they choose a BSD style license anyway, who am I to judge. But, my views differ, and those are the views you asked about).

                                                          1. 8

                                                            What we’re seeing in many BSD-licensed projects is that companies do still contribute back. It’s in their best interest to (make an attempt, at least) upstream their non-money-making bits. The FreeBSD project shines as a great example of this. Sony, Netflix, Juniper, Dell EMC Isilon (I think they were acquired), NVIDIA, and many others contribute a large amount of code (and monetary donations) back to the project, even though they don’t have to.

                                                            So, from my point of view, today’s use of the BSD license isn’t too much different from the GPL. Just because a company can take BSDL code and completely close it doesn’t mean they will. As mentioned above, they usually don’t.

                                                            Instead, the BSDL enables companies to make better use of my work and innovate with it. Contributing their non-money-making bits relieves their own maintenance burden, allowing the wider community to take their work and improve upon it as well. My BSDL code will have a much wider reach and impact than GPL for this very reason.

                                                            Juniper learned this lesson in a very hard way. They had hard forked FreeBSD a very long time ago (I think back in the FreeBSD 4 days, but I could be horrifically wrong there.) They didn’t upstream their changes. Then FreeBSD made some HUGE changes over the years, and when they went to upgrade their fork to the latest release, they had a very large amount of work to do. It really hurt them in their engineering efforts.

                                                            Now, Juniper contributes back as much as they can. They minimize the number of proprietary patches against FreeBSD. Companies like Netflix have learned from Juniper’s experience. This teaches me that from a pure “contributing back” perspective, the BSDL and the GPL are equal in practice.

                                                            1. 8

                                                              GPL forces companies to contribute back

                                                              Without personally or directly engaging in the pseudo-religious argument this topic occasionally can devolve into, I feel obligated to highlight this referenced statement as demonstrably and objectively incorrect.

                                                              1. 1

                                                                I’d say more misguided than incorrect. Making something available does not necessarily make it a contribution.

                                                                Moreover, you only need to make it available under certain conditions. If you neither distribute it, nor otherwise expose it to the public, it may very well stay walled off.

                                                                Lastly, if the author doesn’t sue, there is no force to speak of. It’s more likely you’ll get public shaming, as with Microsoft’s hiccup lately.

                                                              2. 5

                                                                GPL forces companies to contribute back

                                                                Sorry to be a pedant but this misstating of the GPL is one of my pet peeves. The GPL, by design, does not require anyone to contribute back. The GPL is intended to protect the rights of end users, not to protect the rights of the original creators. It forces them to contribute forwards. The only people who have rights granted by the GPL are the people who receive binary copies of the software. The following are completely allowed by the GPL:

                                                                • Maintaining an in-house fork of a GPL’d program without sharing the code.
                                                                • Providing recipients of the binary with a tarball of the source code but not sending it upstream and not providing any revision control history to understand the changes (Apple did this a lot).
                                                                • Providing a service using the GPL’d code without sharing the code at all (this is not true for the AGPL in the specific case that the service is a hosted instance of the software but in all other cases it is).

                                                                From the perspective of a corporation, the question is simple: is it cheaper (counting TCO, including liabilities from licence compliance) to use open source code than to develop something in house? If your code is less than a few person years of effort (i.e. a single person’s hobby project), then the cost of developing it in-house is probably very small. They typically have three choices:

                                                                • Develop something in house.
                                                                • Take an open-source project, customise it, and maintain an in-house fork.
                                                                • Take an open-source project, customise it, and upstream the changes.

                                                                For a GPL’d project, there’s a big liability from distributing and so, in my experience, they’re more likely to go with options one or two than option three because the potential liability from GPL’d distribution is greater than the potential saving from reducing their diffs with upstream. For something permissively licensed, the weighting typically goes towards option 3: there’s no point developing something in house if there’s a low-risk public version and there’s little risk from upstreaming changes (the awareness of this has changed a lot over the last 20 years, especially in smaller companies).

                                                                In a few cases, I’ve seen companies take a hybrid of options one and three: see that there’s a GPL’d project and pay someone to write a permissively licensed alternative, which they then develop in the open.