Comment by pilif

Comment by pilif 2 days ago

19 replies

Keep in mind that for many use cases (mobile access, GUI on macOS), this relies on the official Tailscale clients keeping the ability to set the control server.

The moment the inevitable enshitification will start at Tailscale, this feature will go away.

I’m saying this as a currently super happy Tailscale customer who was burned multiple times in the past by other companies being sold or running out of VC money

risho 2 days ago

arent most of the the tailscale clients open source aside from the gui portion of the non open source os's?

  • pilif 2 days ago

    Yes they are, unless you're using a mainstream OS and/or want to use a GUI, which is probably the most common use case.

    • __float 2 days ago

      While the GUI is somewhat helpful, at the end of the day it's not the key piece, and it could easily be rebuilt.

  • notpushkin a day ago

    I think the whole Windows client is closed. On macOS though you can use it from the command line just fine (apart from a couple quirks due to a completely different VPN implementation [1]).

    [1]: they have three: https://tailscale.com/kb/1065/macos-variants

    • squiggleblaz a day ago

      From https://github.com/tailscale/tailscale

      "This repository contains the majority of Tailscale's open source code. Notably, it includes the tailscaled daemon and the tailscale CLI tool. The tailscaled daemon runs on Linux, Windows, macOS, and to varying degrees on FreeBSD and OpenBSD. The Tailscale iOS and Android apps use this repo's code, but this repo doesn't contain the mobile GUI code."

      and

      "The macOS, iOS, and Windows clients use the code in this repository but additionally include small GUI wrappers. The GUI wrappers on non-open source platforms are themselves not open source."

      Moreover, there's https://github.com/tailscale/tailscale-chocolatey to aid the build process. I haven't built it or run it.

      On the other hand, while I suppose the Windows app is probably reasonably straightforward to replicate, I guess it would be much harder to produce an iOS or Android app because of the vagaries of mobile programming.

      • pilif a day ago

        > I guess it would be much harder to produce an iOS or Android app because of the vagaries of mobile programming.

        on iOS you also need a special entitlement that's only available on specific request and only to known developers, so practically impossible for any open source project to acquire.

        • dcow a day ago

          This was true in 2015. It is not true anymore.

      • notpushkin a day ago

        Thanks, I stand corrected then!

        Android client is open source (and you can get in from F-Droid, even), so that only leaves iOS I guess.

        • freedomben a day ago

          Yep, Tailscale takes a pretty reasonable approach to that IMHO. Open source on platforms that are open source. I think that works out pretty well because it meets people where they are. For example the people who care about open source (and thus are running linux or android) get their open source needs met, and people who don't care about open source strongly or at all (as evidenced in part by them running closed/proprietary OSes) such as mac or windows users are also met where they are. Of course this also helps protect their business model because then competitors can't just take the open source versions and run off with them, and the number of linux users is quite small compared to mac and windows so it keeps the majority of the client closed while still providing the openness to those who truly care about it.

          *In my perfect world everybody would care about open source, but the evidence is pretty clear that only a tiny minority of people actually do, even among engineers

miki123211 a day ago

I may be misremembering, but I think they have said somewhere that Headscale is actually revenue positive for them.

That feels right to me. Headscale is mostly used by home labbers and small hobby users, it competes with self-hosted OpenVPN and WireGuard, not Pulsesecure, Cisco Anyconnect or GlobalProtect. It's a way to introduce Tailscale to people who love to try new shiny tech in their spare time, but don't want to give up control over their infrastructure.

Those people will then bring their Tailscale expertise and enthusiasm to work. Work really doesn't like managing IT infrastructure unless it's one of their core competencies.

Sure, some companies will actually choose Headscale over Tailscale proper, but I suspect that's a small minority (especially if you take company size and the money involved into account). That's just cost of revenue, not unlike Facebook advertising or billboards on the side of a road in Silicon Valley.

  • comex a day ago

    > I think they have said somewhere that Headscale is actually revenue positive for them.

    I have the same memory. But they may not feel that way forever. Many a company started by attracting developers with a generous free tier or open-source offering, then started to clamp down once the going got tough.

    Heck, it happened to one of Tailscale's competitors, ZeroTier, which used to release their client software under GPLv3 but eventually switched to BSL.

sixothree a day ago

Tailscale clients are the thing I am least happy about with Tailscale. Specifically mobile clients and battery usage.

The reason I can't use Tailscale at work is because it routes traffic through servers we can't control.

I would _love_ to use tailscale at work. It would solve so many problems. I am okay with being forced to open ports. But tunneling traffic through them is extremely worrysome.

  • pilif a day ago

    > Specifically mobile clients and battery usage.

    yes. Battery usage is super bad, mainly because of their DNS features which forces every DNS resolution to go through their network extension. At least recent updates have stopped the background power usage when you disconnect from the network in the app.

    >But tunneling traffic through them is extremely worrysome.

    it only does that in case of super bad NATs that make the usual NAT traversal techniques impossible. And presumably, the traffic is end-to-end-encrypted, so it doesn't matter if they have to be in the loop.

    If you don't trust them to properly end-to-end encrypt, then it really doesn't matter whether they are in the loop for forwarding a packet or not because if you don't trust them to encrypt properly, all bets are off to begin with.

    If you trust them however, it doesn't matter where the traffic is flowing through because only the intended machine is able to decrypt it.

    • dcow a day ago

      On the battery topic I’m curious if you have anything more than anecdotal evidence. A basic full tunnel wg network extension doesn’t affect battery in a noticeable or unacceptable way, in my experience. Is tailscale’s implementation doing more in a way you can isolate and attribute to poor battery?

      • pilif 18 hours ago

        Tailscale on my iPhone is unusable while connected in the background. The battery consumption reporting diagram is all 100% filled light blue bars, all attributed to Tailscale.

        I’m using their MagicDNS feature with three domains and I think that’s the reason

      • sixothree a day ago

        I can see it (tailscale) in my battery usage on multiple devices. 20 hours of background usage per day is a bit much if you ask me.

        • CharlesW a day ago

          FWIW: On iOS 18.4 my Battery report for the last 10 days is ~128h of background activity, using ~2% of my battery life.