1. 31

    …and following Betteridge’s law of headlines, even the author says the answer is no (albeit in the footnote at the end of the article, behind a door with a sign saying “beware of the leopard”).

    1. 5

      Well that is the Headline Answer Department.

      1.  

        Is this really an example of Betteridge’s law? The author paints a picture for us, one that might or might not be true. It’s not a simple “no” answer.

        1. 5

          😈 I don’t actually believe it was a false flag…

          Yes.

          1.  

            But my point is that the article doesn’t conclude that the answer is no, unlike typical Betteridge’s law examples. Rather, it presents a good argument for the opposite (even if the author admits that he doesn’t believe it).

            You can’t summarize the article with “no”, and you can’t change the title to “Go’s Try Proposal Wasn’t a False Flag”, making this not an example of Betteridge’s law, in my eyes.

            1. 5

              You’re right, this is all reverse psychology. The author is actually playing 10 dimensional chess with our minds. Betteridge’s law doesn’t apply in the cases where you thought that think that you thought but you didn’t think that you thought but instead was made to think that you had thought that you think so. It all makes sense now.

              1.  

                the cases where you thought that think that you think

      1. 12

        except… that’s not what a false flag is…

        A false flag operation is flying/painting/wearing someone else’s flag with intent to deceive an adversary about who is engaging in the operation for some strategic purpose. (Usually to keep the enemy off their guard or avoid political blame.) The who is important. The Go team neither raised nor withdrew the propsal while pretending to be someone else.

        What TFA describes is merely ulterior motive.

        Further, and I have zero horses in this game since I don’t know Go, the propsal review committee dude stated pretty well why the proposal was being declined: communication and collaboration around the proposal sucked and it was either solving a problem that a lot of people didn’t believe was actually a real problem, or it didn’t solve the problem well enough, I can’t tell. Hard to see how that’s a bad thing. First rule of language improvements should always be, first do no harm. Far better to miss a potentially useful feature than to have to deal with the consequences of a poorly executed one for decades after.

        1.  

          At this point, I think the meaning of “false flag” has faded so much that almost no one bat an eye when reading the article.

          Further, it’s not just a proposal with an ulterior motive; the proposal in itself was false and untruthful (if we accept the theory).

        1. 1

          On OpenBSD, I usually edit man pages with vi, convert it to text (with ANSI escape sequences) and view it in my modified version of less that reloads the file in-place upon receiving SIGHUP.

          Via watch, the last two steps are performed whenever I save the man page.

          But if I had a Mac, I think I’d use this program.

          1. 2
            1. “ets” or “et cetera”
            2. “libb”
            3. “char” (as in charcoal)
            4. “eff-sick”
            5. “skeema” / ”skeemas” probably
            1. 4

              Here is a version I did in C: https://github.com/jocap/repl.c

              1. 1

                Nice and clean. :)

              1. 16

                Using a static site generator means that you have to keep track of two sources: the actual Markdown source and the resulting HTML source.

                This is not representative of my experience. I can delete my generated /public folder and re-run Hugo again to generate a new site. I only have to keep track of my source.

                Finally, you constantly have to work around the limitations of your static site generator.

                This is very true. I use Hugo, and it changes very fast, often breaking some things. Also, it started out as a blog site generator, and adding features to make it a generic site generator has required paying attention to releases and updating my custom theme to prevent my site from breaking.

                But how can I then keep the style and layout of all my posts and pages in sync?

                I actually think this is kind of neat. I like the idea of a web of interconnected pages each similar but a little different, evolving over time. It reminds me of the old web.

                🤔 I should redesign my website.

                1. 5

                  Hugo is dang frustrating. Recently I accidentally updated it from the distro, jumping ahead 15 versions. At some point they made pygments go from rendering my site in <100ms to rendering in 15s. Then I tried switching to Chroma, but it turns out there’s no extension system, so to tweak my code highlighters I needed to manually compile Chroma and then manually compile Hugo.

                  Then I found out that you use a tweet shortcode, you can’t preview your site offline. That broke me and I went back to a 2016 build.

                  1. 1

                    I feel you. That is why I use specific versions of hugo for my site, not one supplied by a distro.

                    Also I recommend using hljs. I like it (progressive enhancement) better than the pygments. I’ve had some problems with pygments in the past, but I cannot recall it. (Also had some minor annoyances with hljs, but I’m generally OK with it).

                    Regarding the tweet shortcode… I never used that (I prefer screenshots of tweets and links, as I do not trust linking third party sources. They can change/disappear, and it would ruin my point). Could you link an issue or something so I could understand it? It made me curious.

                    1. 1

                      Yeah, I think I’ve been lucky in that not much has broken for me.

                      The biggest issue I ran into a couple of months ago was a change that prevent me from using a / in a tag name to fake sub-paths. I used this to match my old URL schema from before I was using Hugo.

                      Hugo removed (”“fixed””) the tag issue, so I updated my blog to use another solution, BUT then Hugo reverted the change. Ha!

                    2. 4

                      I used to write my blog (for the past 19 years) in raw HTML. Then a few months ago I implemented my own markup language (based upon Orgmode with a lot of extensions for how I write posts), but I still only keep the rendered HTML, not the original source. That way, I’m not stuck with supporting outdated versions of my markup formatter.

                      1. 2

                        This is not representative of my experience. I can delete my generated /public folder and re-run Hugo again to generate a new site. I only have to keep track of my source.

                        But even then, you must keep both the source and the result in your head, because you have to worry about how your Markdown will be translated to HTML (dependent on the version and implementation of Markdown) and how your posts will be arranged in public/.

                        This is very true. I use Hugo, and it changes very fast, often breaking some things. Also, it started out as a blog site generator, and adding features to make it a generic site generator has required paying attention to releases and updating my custom theme to prevent my site from breaking.

                        This is a great summary of the problem! Websites created with static site generators are quite fragile.

                        1. 4

                          But even then, you must keep both the source and the result in your head, because you have to worry about how your Markdown will be translated to HTML (dependent on the version and implementation of Markdown) and how your posts will be arranged in public/.

                          I’m still not aligned with you on this. I do have to think about my HTML when I am building my custom theme, not when I’m building the site or uploading it.

                          The only thing I have to consider when creating new content is where my feature image is located and use the correct path in my content’s meta data. The thumbnails and their use in the page are auto-generate, and the content is put where it needs to be, and related links menu items and homepages are all updated per my theme.

                          1. 1

                            I suppose it depends on what type of content you write, but I find it hard to maintain things like footnotes and tables across different implementations of Markdown and static site generators (or even the same generator but a different version). Not to mention things like elements with custom classes and inline HTML.

                            What I mean is, if you’re writing HTML directly you always know what the resulting HTML will be. If you write in Markdown, you always have to spend time thinking about what the HTML will look like. You usually have a good enough idea, but you could be wrong.

                            1. 1

                              What I mean is, if you’re writing HTML directly you always know what the resulting HTML will be. If you write in Markdown, you always have to spend time thinking about what the HTML will look like.

                              I think this is why I hate ORMs. Instead of just writing the SQL I want, I have to learn how to express it in whatever weird interface the library exposes – assuming it’s even expressive enough.

                              1. 1

                                Is Markdown really in that much of a state of flux?

                                I’m using the OG Daring Fireball edition, I do know that there’s been some work to integrate stuff like footnotes and ToC (which Gruber opposed on philosophical grounds). It’s been frozen since… 2011? 2004

                                I’d rather use a tool that made it easier for me to write a blog post every day (let’s face it, every month more like it) than worry about future incompatibility in the HTML rendering tool I’m using.

                                1. 1

                                  Is Markdown really in that much of a state of flux?

                                  Not Gruber’s Markdown, but yes, certainly if you’re switching between implementations (or versions thereof) or static site generators (or versions thereof) that use different implementations.

                                  I’d rather use a tool that made it easier for me to write a blog post every day (let’s face it, every month more like it) than worry about future incompatibility in the HTML rendering tool I’m using.

                                  Indeed – that’s exactly how I feel writing posts in HTML. Nothing can go wrong, no matter what system I’m using or what programs I have installed.

                            2. 2

                              Websites created with static site generators are quite fragile.

                              Only if the site generator ever changes. I use one written in Clojure that has not been changed in years.

                              1. 1

                                That is why I made my own. A few lines of Python and your ready.

                              2. 1

                                I actually think this is kind of neat. I like the idea of a web of interconnected pages each similar but a little different, evolving over time. It reminds me of the old web.

                                🤔 I should redesign my website.

                                This cracked me the hell up :D

                              1. 12

                                This appeals to me. However:

                                But how can I then keep the style and layout of all my posts and pages in sync? Simple: don’t! It’s more fun that way. Look at this website: if you read any previous blog post, you’ll notice that they have a different stylesheet. This is because they were written at different times. As such, they’re like time capsules.

                                While that’s kind of cool in its own way, I don’t prefer it. Especially when it comes to a site menu.

                                My first web sites were hand-coded HTML. My motivation to learn PHP was that I wanted a consistent menu across all pages, and copy-paste was not maintainable, so I landed on PHP’s include. From there it was down the rabbit hole to becoming a web developer.

                                I use a static site generator now for nathanmlong.com, which I mostly write in Markdown. It wouldn’t kill me to write HTML, but I don’t want to copy and paste a menu everywhere.

                                1. 8

                                  Case in point about the downsides, the cv link is correct on the author’s homepage. It is not correct on this page. That’s an easy mistake to make, and I’ve definitely made versions of it. However, it’s much more pleasant to fix when you can fix it everywhere by updating a template.

                                  1. 3

                                    Thanks for the heads up :-)

                                    Edit: Solved by sed -i 's,href="cv",href="../cv",' */*.html. In my mind, simpler than a CMS or static site generator.

                                    1. 3

                                      “Simpler”, sure, maybe. At least for now. But maybe it won’t always be such a trivial sed command. Maybe you wrote the html slightly different in certain spots.

                                      A simple or custom-built static site generator would avoid mistakes like this altogether. You could have one file for your head element. Nicer menus, sidebar, etc. And you could still write most or all of it in pure html if you wanted to.

                                      Simpler doesn’t necessarily mean better.

                                      1. 1

                                        If you need the same template for all of your pages, then yes – a templating engine is a good idea.

                                        But if you don’t need this, then a templating system makes the process unnecessarily complicated. Creating a template in a special language and fitting all pages to the same mold takes much more effort than most realize, especially in comparison with just writing single HTML pages.

                                        For example, look at my software page. I have some fancy HTML and CSS to render sidenotes in the margin (unless you use a small screen). Because the page is “self-contained”, I don’t have to worry if I ever edit the style sheet for other posts. But if I used a templating engine, I would have to worry about it.

                                  2. 5

                                    Everything old is new again (or something like that)… you can always use server side includes for common elements.

                                    1. 2

                                      I like keeping my content and the final HTML site separate, and using the content to generate the site. It makes my content more flexible, but also makes generating the global menus easy, which is important to me so that my readers get a good experience.

                                      1. 2

                                        I haven’t actually used it but the caddy web server appears to have built-in templating features: https://caddyserver.com/docs/template-actions

                                        1. 1

                                          Dreamweaver supported keeping sites’ themes consistent when I tried it long ago. It was templates or something. Maybe one of the open editors can do that, too. Otherwise, it would be a good feature for them to add.

                                          1. 1

                                            I hear you. I think the obvious solution then is to use something like PHP or SSI. Of course, that’s another layer of complexity, but not as much as a static site generator or CSS.

                                          1. 16

                                            One benefit of using a CMS or site generator is an automatic RSS feed. Hint: this blog currently has no RSS feed ;)

                                            1. 5

                                              I was really considering writing a blog that actually uses an RSS feed as the source of truth, then uses XSLT to generate the HTML…

                                              1. 6

                                                Pro tip: use an Atom feed. RSS 2.0 is pretty loose, spec wise.

                                                1. 1

                                                  This brings back old memories. Back in 2006, I think, I used a CMS called Symphony that would generate XML and then you’d style your blog using XSLT. Since I was a junior developer back then, it was quite handy to learn XML and XSLT, which were still the rage back then :-)

                                                2. 2

                                                  That is very true, but I’m working on a shell script to generate a feed from HTML.

                                                  Edit: Here’s a preliminary version of the script (results).

                                                  1. 3

                                                    Be careful your shell script doesn’t turn into a static site generator!

                                                    1. 1

                                                      Indeed! I saw it coming too, so now I’ve switched to a PHP script (feed.php) that generates it on the server from my index.html, so that I don’t have to worry about generating it :-)

                                                1. 1

                                                  I think a lot of the difficulties that people have with static sites is really a problem with the generators. The static site generator I use — ikiwiki — predates the current trend for static site generators (Hugo, et al). It has its quirks, and I’m concerned that it is fading into abandonware, so I would like to move elsewhere. But all the newer, popular ones seem to have enormous design flaws (complete lack of any kind of internal linking support; rigid ideas about source file layout…), so I’m stuck with IkiWiki for the time being. All the problems I have with IkiWiki however, are “internal” matters, and are not particularly reflected in the output, which I continue to be very happy with.

                                                  1. 2

                                                    But all the newer, popular ones seem to have enormous design flaws (complete lack of any kind of internal linking support; rigid ideas about source file layout…), so I’m stuck with IkiWiki for the time being.

                                                    A good summary of the state of the majority of static site generators, even the best and most popular ones. I hope you that ikiwiki continues to work for you, or that you find something else!

                                                    1. 2

                                                      Why does it matter if it’s “abandomware”? If it works, keep using it. What’s the obsession with continuously changing software?

                                                      1. 2

                                                        It might not run after a while. If it’s written in standard portable C, it’s likely to keep working for a long time. But if it’s written in, for example, Python 2, lots of distributions are phasing out Python 2 in favor of Python 3.

                                                        1. 2

                                                          Bit rot. Bugs are not getting fixed. Patches are not being reviewed or applied. Long standing paper cuts continue to bleed. Unfortunately network software can’t generally stand still, because it needs to adapt to the changing circumstances it is deployed upon.

                                                      1. 2

                                                        I write in straight-up HTML all the time, thank you very much :)

                                                        1. 1

                                                          :-)

                                                        1. 2

                                                          Seamonkey is like the Windows XP of web browsers. Horribly out of date but still hanging on despite all common sense…

                                                          1. 5

                                                            I don’t agree. In terms of functionality and interface, it’s one of the best browsers out there, and it’s one of the only WYSIWYG HTML editors out there.

                                                            I think its continued existence is healthy for the web ecosystem; I’m afraid that sentiments like the one in your comment are increasingly leading to a monoculture controlled by Google.

                                                            1. 1

                                                              Preaching to the choir, buddy. I used Seamonkey back when it was just called “Mozilla” and “Netscape Navigator” before that. And then on and off once Firefox became a thing. It’s sad that they’ve basically just been playing catch-up to Firefox since.

                                                              1. 1

                                                                Well, I didn’t know you were part of the choir. It didn’t seem that way from your original comment.

                                                                It’s sad that they’ve basically just been playing catch-up to Firefox since.

                                                                Yes, Seamonkey is a great piece of software, and it’s sad that they don’t have enough resources or developers to properly maintain and develop it.

                                                          1. 3

                                                            If you fancy this, you might like sblg (disclaimer: it’s mine), which merges together HTML pages—template and content—with smarts to handle navigation, tags, and so on. You don’t even need to do the content in HTML: I do many of mine in markdown, bracketing the md->html output with the article tags sblg needs. I’ve used this for slide presentations, websites (e.g., Not Awful UW Photography, and so on. All managed by simple Makefiles.

                                                            1. 2

                                                              I like sblg, and I think it’s better than most static site generators (especially because it doesn’t use Jekyll’s awkward “front matter” system), but for my purposes, most of the same problems still apply.

                                                            1. 2
                                                              export PS1="%(!.=> .-> )"
                                                              export RPS1="%1~"
                                                              ``` and I would show you what that looks like but lobsters collapses all the spaces between the two parts.
                                                              
                                                              I use zsh, without any extension framework, so it's pretty fast. The current directory name is on the right and an arrow is on the left (double stem for root).
                                                              
                                                              It's simple. Everything else I might want I can easily type, and I find that the slight effort in typing say `whoami` or `pwd` is worth more than a cluttered prompt (even if the clutter is useful). Most of the time I can remember what machine I'm on because I don't use many.
                                                              
                                                              1. 0

                                                                FYI: Lobsters doesn’t support GitHub’s special ``` code block syntax.

                                                                1. 1

                                                                  That’s not the case, at least on my end.

                                                                  I did indeed mess up the formatting by ending the backticks on the same line as the next paragraph, but it’s definitely monospaced.

                                                                  On another note, I didn’t know it from Github, which I’ve never significantly used, but from Pandoc.

                                                                  1. 1

                                                                    Oh, it seems you’re right! I saw the weird formatting of your post and thought that Lobsters didn’t support the syntax. Thanks for clarifying!

                                                                    1. 1

                                                                      no worries!

                                                                      I would fix it, but I can’t find an edit button, if there even is one.

                                                                      1. 1

                                                                        I think you can only edit your post for a few minutes after publishing it.

                                                                        1. 1

                                                                          It’s a bit longer than a few minutes but there is a time limit.

                                                              1. 2

                                                                I thought I’d share some of my thoughts on HTML and static site generators. In this post, I explain and argue for what works best for me.

                                                                1. 2
                                                                  PS1='${PWD##+(?)/} $ '
                                                                  

                                                                  My prompt shows only the basename of the current directory. The substitution above removes everything up to and including the final forward slash in PWD, except if there is only one slash in it:

                                                                  / $ cd home
                                                                  /home $ cd john
                                                                  john $ cd prj
                                                                  prj $
                                                                  

                                                                  I find this keeps the prompt short enough, while still helping me keep track of where I am.

                                                                  1. 1

                                                                    This is really neat. It’s fascinating how much PHP has changed in its life and how open to change the developers are still.

                                                                    1. 11

                                                                      I don’t get why the integrated terminal emulator/multiplexer is presented as a feature (the first in the list, even). Surely having yet another multiplexer implementation (see also: vim) with its own idiosyncrasies and key bindings is not a good thing, and it would be better design to expose some IPC or configuration so that a user could integrate their own preferred terminal emulators (standalone windows, tmux panes…), or even more traditional GUIs (like gedit).

                                                                      1. 1

                                                                        I think it’s an obvious solution that’s simply more intuitive and less complicated than what you describe. Also, it would otherwise be hard to keep the rest of the interface visible while editing/viewing e-mails.

                                                                      1. 17

                                                                        Interested in hearing other views. But I think what they are doing is reasonable.

                                                                        Can this be extrapolated into a ‘BLISS’ principle: ‘Buy License if SaaS’ (just came up with abbreviation :-) )

                                                                        “.. The one and only thing that you cannot do is offer a commercial version of CockroachDB as a service without buying a license. ..”

                                                                        They should probably provide some examples of what they consider a CockroachDB service, vs a service that’s using CockroachDB underneath.

                                                                        1. 10

                                                                          agreed. copying my comment over from hn:

                                                                          this seems like an excellent licence, clearly spelling out the intent of the copyright, rather than trying to fashion a one-size-fits-all set of rules. it reminds me of cory doctorow’s point that, intuitively, if some community theatre wanted to dramatise one of his works, they should be able to just do so, but if a major hollywood studio wanted to film it they should require a licence, and it is hard to draft a copyright law that does this properly.

                                                                          1. 13

                                                                            Can this be extrapolated into a ‘BLISS’ principle: ‘Buy License if SaaS’

                                                                            It can be. The question is not whether someone could do a thing, it’s whether they should do a thing.

                                                                            And the answer to that question is: Cockroach Labs itself wants to offer CockroachDB as SaaS, and they see it as absolutely necessary that they have the exclusive right to decide whether anyone else can do that and charge money for the privilege. Fair enough, they hold the copyright on the software (presumably) and can relicense it as they wish.

                                                                            But what happens to Cockroach Labs’ SaaS offering if every other component of the stack they run on adopts the same license and says “free but only if you’re not a for-profit SaaS”? If they have to pay dozens or, more likely, hundreds of separate license fees for the privilege of using all the other open-source components they depend on?

                                                                            The answer is Cockroach Labs would not be in the SaaS business for very long after that, because they wouldn’t be able to turn a profit in such a world. The categorical imperative catches up to people. And the real result would be everybody forking from the last genuinely open-source version and routing around the damage that way.

                                                                            1. 11

                                                                              But what happens to Cockroach Labs’ SaaS offering if every other component of the stack they run on adopts the same license and says “free but only if you’re not a for-profit SaaS”?

                                                                              but cockroachdb, as far as i can make out, is not doing this - they’re saying “free, unless you’re a for-profit cockroach-db-as-a-saas”, that is, if what you are selling is a hosted version of cockroachdb itself, rather than some other saas product that happens to use cockroach as a backend.

                                                                              1. 5

                                                                                Right. So assuming that Cockroach Labs offers no services except CockroachDB-as-a-service and a support line, Cockroach Labs would not have to pay for any additional licenses if all dependencies in their software stack switched to CockroachDB’s new license.

                                                                                I think very few companies would be harmed if this license became prevalent. (I make no statement on the worth of the services of the few companies that would be harmed by such mass relicensing.)

                                                                              2. 4

                                                                                But most of the deps of CockroachDB aren’t created by corporations who need to monetize them directly.

                                                                                1. 12

                                                                                  Exactly. I think different kinds of projects end up preferring different kinds of licenses, for good reasons:

                                                                                  • core infrastructure — libraries, runtimes, kernels, compilers — permissive and public domain-ish — because “stuff you were going to write anyway”, not written directly for profit, stuff you want to just exist and would love it if someone made a successful fork (because you wouldn’t have to maintain it anymore! — that’s most of my github projects) etc.
                                                                                  • end user / GUI / client software — desktop, mobile apps — copyleft — because someone else turning your app into a proprietary one sucks, you want user freedom for the end users
                                                                                  • SaaSable / Web Scale™ / serious business oriented server software — distributed DBMSes like this one — these “Buy License if SaaS” licenses — because reasons everyone discussed with the SaaS thing

                                                                                  Of course not everyone will agree with my philosophy here, but I think it’s good and much more productive than “I hate GPL” / “I hate permissive” / “the anti-SaaS stuff is destroying all FOSS ever”. You don’t have to attach yourself personally to a kind of license, you can adopt a philosophy of “different licenses for different kinds of projects”.

                                                                                  1. 1

                                                                                    core infrastructure — libraries, runtimes, kernels, compilers — permissive and public domain-ish — because “stuff you were going to write anyway”,

                                                                                    I don’t think that’s true given the value that great infrastructure can provide, esp with good ecosystem. The mainframe companies, VMS Inc, Microsoft, and Apple all pull in billions of dollars selling infrastructure. The cloud companies sell customized and managed versions of open infrastructure. The vendors I reference making separation kernels, safety-critical runtimes, and certifying compilers are providing benefits you can’t get with most open code. Moreover, stuff in that last sentence costs more to make both in developer expertise and time.

                                                                                    I think suppliers should keep experimenting with new licenses for selling infrastructure. These new licenses fit that case better than in the past. If not open, then shared source like Sciter has been doing a long time. I’d still like to see shared source plus paying customers allowed to make unsupported forks and extensions whose licenses can’t be revoked so long as they pay. That gets really close to benefits of open source.

                                                                                    1. 1

                                                                                      Of course there’s still companies selling specialized, big, serious things. But FOSS infrastructure has largely won outside of these niches. Linux is everywhere, even in smart toilets and remote controlled dildos :D Joyent has open sourced their whole cloud stack. Google has open sourced Bazel, Kubernetes, many frontend frameworks… Etc. etc.

                                                                                      shared source plus paying customers allowed to make unsupported forks and extensions whose licenses can’t be revoked so long as they pay

                                                                                      IIRC that’s the Unreal Engine 4 model. It’s.. better than hidden source proprietary I guess.

                                                                                      separation kernels, safety-critical runtimes, and certifying compilers are providing benefits you can’t get with most open code

                                                                                      I’ve heard of some of these things.. but they’ve been FOSS mostly. NOVA: GPLv2. Muen: GPLv3. seL4: mix of BSD and GPLv2. CompCert: mix of non-commercial and GPLv2.

                                                                                      1. 4

                                                                                        “ But FOSS infrastructure has largely won outside of these niches. “

                                                                                        Free stuff that works well enough is hard to argue with. So, FOSS definitely wins by default in many infrastructure settings.

                                                                                        “but they’ve been FOSS mostly. NOVA: GPLv2. Muen: GPLv3. seL4: mix of BSD and GPLv2. CompCert: mix of non-commercial and GPLv2.”

                                                                                        They’ve (pdf) all been cathedral-style, paid developments by proprietary vendors or academics. A few became commercial products. A few were incidentally open-sourced with one, Genode, having some community activity. seL4 may have some. Most seL4-based developments are done by paid folks that I’ve seen. The data indicates the best results come in security-focused projects when qualified people were paid to work on the projects. The community can do value-adds, shake bugs out, help with packaging/docs, translate, etc. The core design and security usually requires a from core team of specialists, though. That tends to suggest paid models with shared source or a mix that includes F/OSS are best model to incentivize further development.

                                                                                        “and remote controlled dildos :D “

                                                                                        There’s undoubtedly some developer that got laid off from their job shoving Windows CE or Symbian into devices that were once hot who dreamed of building bigger, better, and smarter dildos that showed off what their platforms had. The humiliation that followed wasn’t a smiling matter, Sir. For some, it may have not been the first time either.

                                                                                        1. 2

                                                                                          cathedral-style, paid developments by proprietary vendors or academics

                                                                                          Yes, the discussion was about licensing, not community vs paid development. For this kind of project, I don’t see how non-FOSS shared source licensing would benefit anyone.

                                                                                          1. 2

                                                                                            Individuals outside business context could use, inspect, and modify the product for anywhere from cheap to free. Commercial users buy a license that’s anything from cheap to enterprise-priced. The commercial use generates revenues that pay the developers. Project keeps getting focused work by talented people. Folks working on it might also be able to maintain work-life balance. If 40-hr workweek, then they have spare time and energy for other projects (eg F/OSS). If mix of shared-source and F/OSS, a percentage of the funds will go to F/OSS.

                                                                                            I think that covers a large number of users with acceptable tradeoffs. Harder to market than something free. The size of the security and privacy markets makes me think someone would buy it.

                                                                                  2. 3

                                                                                    They aren’t today.

                                                                                    But yesterday, CockroachDB was open-source software.

                                                                                    1. 6

                                                                                      Yeah people love free stuff and not paying for it.

                                                                                      1. 4

                                                                                        Well, most of the free stuff I have access to is reasonably priced.

                                                                                        1. 2

                                                                                          Ok, I meant to say not paying what it is worth (draining the producers).

                                                                                        2. 6

                                                                                          Yes, people love getting things for free.

                                                                                          Cockroach Labs likes getting things for free, but has decided that they don’t like giving things away for free. This is a choice they have the legal right to make, of course, but that doesn’t necessarily make it the right decision.

                                                                                          From a business perspective, it’s a very bad sign. A company suddenly switching from open source to proprietary/“source available” is usually a company where the vultures are already circling. And mostly it indicates a fundamental problem with the business model; changing the license like this doesn’t fix that problem, and in fact can’t fix it. If demand for CockroachDB is significant enough, other people will fork from the last open-source release and keep it going. If demand for it isn’t significant enough, well, they won’t. And either way, Cockroach Labs probably won’t make back what the VCs invested into it.

                                                                                          From a software-ecosystem perspective, it’s more than a bit hypocritical. Lots of people build and distribute permissive-licensed software, and Cockroach Labs has, if not profited (since they may not be profitable) from it, at least saved significant up-front development cost as a result. If what they wanted was a copyleft-style share-and-share-alike, there were licenses available to let them do that (which, from a business perspective, still would not have saved them). But that’s not really what they wanted (and by “they” I mean the people in a position to impose decisions, which does not mean the engineering team or possibly even the executive team). What they seem to have wanted was to be proprietary from the start, and therefore to have absolute control over who was allowed to compete with them and on what terms. There is no open-source or Free Software license available which achieves that goal; the AGPL comes closest, but still doesn’t quite get there.

                                                                                          And there simply may not have been a business model available for CockroachDB that would satisfy their investors, but Cockroach Labs was founded at a time when it already should have been clear – especially to a founding team of ex-Googlers – where the market was heading with respect to managed offerings for this type of software. They could have tried other options, like putting more work into integrating with cloud providers’ marketplaces, but instead they knowingly signed up to get their lunch eaten, and do in fact appear to have gotten their lunch eaten.

                                                                                          1. 9

                                                                                            Cockroach Labs likes getting things for free, but has decided that they don’t like giving things away for free.

                                                                                            You are hinting that Cockroach Labs are trying to act as freeloaders while ignoring the real elephant in the room: SaaS providers.

                                                                                            1. 0

                                                                                              You are hinting that Cockroach Labs are trying to act as freeloaders while ignoring the real elephant in the room: SaaS providers.

                                                                                              I’m pointing out the simple fact that Cockroach Labs wants to have the right to build a business on open-source software, but wants to say that other entities shouldn’t have that same right. That’s literally what this comes down to, and literally what their new license tries to say.

                                                                                            2. 3

                                                                                              Cockroach Labs likes getting things for free, but has decided that they don’t like giving things away for free.

                                                                                              That’s an unfair characterization. The code they use is made by people who like giving stuff away for free. If permissive, they’ve already chosen a license that lets commercial software reuse it without giving back any changes. If copyleft under GPL-like license, there’s already bypasses to sharing like SaaS that they’re implicitly allowing by not using a strong license. They’re also doing this in a market where most users of their libraries freeload. They then release the code under that license knowing all this for whatever reasons they have in mind.

                                                                                              And then Cockroach Labs, whose goal is a mix of profit and public benefit, uses some of the code they were given for free. They modify the license to suit their goals. Each party contributing code should be fine with the result because each one is doing exactly what you’d expect with their licenses and incentives. If anything, CockroachDB is going out of their way to be more altruistic than other for-profit parties. They could be locking stuff up more.

                                                                                              1. 1

                                                                                                They approve of the “take open-source software and build a business on it without financially supporting all the authors in a sustainable way” approach when it’s them doing it with other people’s software. They don’t approve when it’s Amazon doing it with CockroachDB. You can try to spin it, but that’s really what it comes down to.

                                                                                                And they want control over who’s allowed to compete with them and who’s allowed to use their software for what purposes. That’s fundamentally incompatible with their software being open source, and they’ve finally realized that, but it’s a bit late to be suddenly trying to change to proprietary.

                                                                                                1. 2

                                                                                                  I agree it won’t be open source software when they relicense it. I disagree that there’s any spin. I tell people who want to force contributions or money back to put it in their license with a clause blocking relicensing to non-OSS/FOSS. Yet, the OSS people still keep using licenses or contributing to software with such licenses that facilitate exactly what CockroachDB-like companies are doing.

                                                                                                  I don’t see how it’s evil or hypocritical for a for-profit company acting in self-interests to use licensed components whose authors choose knowing it facilitates that. It wasn’t the developers only option. There was a ton of freeloading and hoarding of permissively-licensed components before they made the choice. Developers wanting contributions from selfish parties, esp companies, should use licenses that force like AGPL or Parity. The kinds of companies they gripe about mostly avoid that stuff. This building on permissive licensing and relicensing problem has two causes, not one.

                                                                                                  Note: There’s also people that don’t care if companies do that since they’re just trying to improve software they and other people use. Just figured I should mention that in case they’re reading.

                                                                                                  1. 2

                                                                                                    I don’t see how it’s evil or hypocritical for a for-profit company acting in self-interests to use licensed components whose authors choose knowing it facilitates that.

                                                                                                    It’s not “evil”. But it is at least a bit hypocritical to decide that you’re OK doing something yourself, but not with other people doing it too.

                                                                                                    Given their intended business model, CockroachDB probably should have been proprietary from the start. Would’ve avoided this specific headache (but probably still wouldn’t have avoided the problem with the business model they chose).

                                                                                                    1. 1

                                                                                                      “But it is at least a bit hypocritical to decide that you’re OK doing something yourself, but not with other people doing it too.” “CockroachDB probably should have been proprietary from the start”

                                                                                                      “three years after each release, the license converts to the standard Apache 2.0 license”

                                                                                                      Amazon isn’t giving all their stuff away after three years under a permissive, open-source license. What we’re really discussing is a company that will delay open-sourcing code by three years, not just license proprietary software. Every year, they’ll produce more open-source code. It will be three years behind the proprietary, shared-source version everyone can use except for SaaS companies cloning and selling their software. You’re talking like they’re not giving anything back or doing any OSS. They are. It’s just in a way that captures some market value out of it.

                                                                                                      In contrast, the people making OSS dependencies usually aren’t doing anything to capture business value out of the code. If anything, they’re not even trying to. They’re directly or indirectly encouraging commercial freeloading with a license that enables it instead of using one that forbids it. So, CockroachDB doesn’t owe them anything or have any incentive to pay. Whereas, CockroachDB’s goal is to make profit on their own work. The goal differences are why there’s no hypocrisy here. It would be different if the component developers were copylefting or charging for CockroachDB’s dependencies with the company not returning code or pirating the components.

                                                                                                      1. 1

                                                                                                        but not with other people doing it too

                                                                                                        Have you heard anyone at Cockroach Labs say this? Wouldn’t they be able to offer their service based on 3 year old versions of every piece of OSS they use? It seems to me this license would work fine transitively, so there’s no hypocrisy involved.

                                                                                        3. 3

                                                                                          If they have to pay dozens or, more likely, hundreds of separate license fees for the privilege of using all the other open-source components they depend on?

                                                                                          Sounds good to me. They have had millions of dollars of funding, they can easily pay some money to people who deserve it.

                                                                                          1. 1

                                                                                            Or we’ll get something like ASCAP, but for software instead of music.

                                                                                            1. 7

                                                                                              As a long time ASCAP member, I hope we could do better.

                                                                                          2. 3

                                                                                            They should probably provide some examples of what they consider a CockroachDB service, vs a service that’s using CockroachDB underneath.

                                                                                            I believe I read somewhere that they considered the user having the ability to freely modify the schema as being “as a service”

                                                                                            Edit: found it

                                                                                            1. 2

                                                                                              The user of a “CockroachDB as a Service” company, that is (not just a user of CockroachDB in general)

                                                                                              1. 2

                                                                                                Thx @trousers @johnaj for clarification. I guess, for me this ‘muddied’ waters so to speak.

                                                                                                Say, hypothetically, I have a SaaS that allows my customers to upload logs from IoT devices, and schema (in my DSL) explaining the data, and some SQL-like (but can also be my DSL) queries about their data.

                                                                                                My service is to provide the results of the queries back to them via dashboards/PDFs etc. The hypothetical SaaS charges for that service (and hopes, in some distant future, to make net profit)

                                                                                                Underneath, I want to use CockroachDB.

                                                                                                When customer provides their data explanation in DSL, I actually translate it into CockroachDB schema, and create materialized and non-materialized views (I do not know if the DB supports this, let’s assume – it does). I do that so that customer’s queries can be translated to database statements more easily (and run efficiently).

                                                                                                So I have a SaaS service, and allow customers (although indirectly) to create schema specific to their data in my database.

                                                                                                Will I need license?

                                                                                                From what I am reading right now, I will.
                                                                                                This is not good or bad – but I hope, then, Postgres would never adapt BLISS.

                                                                                                May be I am wrong .. so hope to hear what others think.

                                                                                                1. 2

                                                                                                  Will I need license?

                                                                                                  No. I think anything that is indirect (they are not using the wire protocol or directly issuing queries) is not going to require a license.

                                                                                                  That said, I can see how your example is demonstrative of a possible problem – if Amazon created like a graphQL layer in front of it that just sort of translated to and from CockroachDB would that give them safety license wise – and I think it would.

                                                                                                  1. 3

                                                                                                    Right, there is ambiguity about the ‘type or class’ of layers that when added, will not require a license vs layers that will require a license.

                                                                                                    If I correctly understand the spirit and the intent of their license, I actually think CockroachDB should protect themselves, and specify that following layers:

                                                                                                    a) security + access control layers

                                                                                                    b) performance + scalability layers

                                                                                                    c) General (not domain specific) query meta language layers

                                                                                                    d) Deployment layers (eg ansible roles on top)

                                                                                                    e) Hardware layer underneath (eg optimized FPGA/GPUs)

                                                                                                    If a SaaS business added on top of their DB only the above layers in essense, and then sold as SaaS together with CocroachDB – they would need the BLISS license.

                                                                                                    Also, at the end of the day, their license may end up being, still, free for some businesses that fall under BLISS – but I think, CockrouchDB team and their investors, want to be in control of that decision…

                                                                                                2. 1

                                                                                                  Right. Good clarification.

                                                                                            1. 5

                                                                                              ”… it does feel a bit like I’m back in the dark ages needing to find and configure things that I’ve previously taken for granted.” That’s OK. Be patient and pick up all the “pieces” like screenshotters as you go along. Nice thing about keeping a repo of all those configs for the “pieces” is (1) you can switch out, or automate / customize, whatever “piece” you desire and (2) even after the dust settles on the “pieces”, if you ever switch your WM again, all the “pieces” remain the same and just “come with” – you don’t have to start your config from scratch (which is what I imagine happens too often with DE switches (“imagine”, because I claim no extensive experience with them). Fun read! Thanks!

                                                                                              1. 5

                                                                                                This is true, although the second part of that paragraph explains why I’m not entirely happy with that option:

                                                                                                It is nice to build your own environment like this but the little imperfections like the dunst notifications mentioned above or handling of external displays have me wanting more.

                                                                                                Thanks for reading.

                                                                                                1. 2

                                                                                                  Indeed – sometimes there’s just too much to configure, and you’d rather someone else, who knows what they’re doing, did it for you. It’d really be nice to see a tiling desktop environment that’s more plug-and-play.

                                                                                              1. 1

                                                                                                Love outside-the-box things like this!

                                                                                                1. 1

                                                                                                  If you do, perhaps you’d like to subscribe to my rss feed! Or maybe you have some other prefered way of subscribing to content?

                                                                                                  I have lots of fun stuff comming up so shortly I think I will be done wiith a practical morse demo either that or a practical chord.

                                                                                                  I started on a currently very humble prediction engine. More on that here: https://github.com/TBF-RnD/alpha/blob/cleanup/odin/README.md

                                                                                                  Early early stage of a web demo: http://tbf-rnd.life/git/alpha/web/sympred.html Try it out with phrases that you would find in the wikipedia article on morse code. So if you type M it’ll give you o then r at the top. telecommunication or english. These sugggestions are to be put on tup along with references for practical morse. I suppose it could be applied for practical chords, but to really prove that the concept is workable I thought why not start at the deep end, which also happens to be technologically simple.

                                                                                                  So this will be expanded quite a lot. I intend to tie several dictionaries into at the same time. While those are tied together they will be weighted after how many hits/misses they have done. So start typing in english and switch to swedish and it’ll follow. I intend to do a quick demo on that using the textarea field above along with some other small fixes.

                                                                                                  A small setback is that when soldering my battery to fix charging and grounding issue I lost my headphone cable so I can’t really hack around with sound which would is sort of an disappointment. Of course spending 8 months or so solely on hacking open source have left me quite broke so please consider my patreon. Not that these issues will stop me but support will for sure make thngs happen faster!!

                                                                                                  Also if you have any input or want me to look into some usecase that you’d like I’d be very happy to hear you out!!