OS choice for the node

I strongly disagree, now is the perfect time to do that.

To reiterate, OP uses:

  • Non-server edition of windows: It’s against ToS to host services on a non-server Windows. So this is a no go right there.
  • NTFS filesystem – not the most efficient one in handling massive number of small files
  • Docker – on windows docker runs in a separate linux virtual machine under the hood. Another layer of overhead
  • SMR disks – no additional comments here, it’s a no go.

So, instead of trying to revive this corpse, start a new node on linux with enough ram and CMR disk. use that as a practice exercise. Learning curve on unix based OSes is much shallower than that on windows. Windows is horrible, people cling to it because of familiarity, sunk cost fallacy, and Stockholm syndrome.


What? I don’t see that in here. Or do you have a link?

Not storj ToS, Windows ToS :slight_smile:

And again I say: “What? Do you have a link?” :wink:

Device connections . You may allow up to 20 other devices to access the software installed on the licensed device for the purpose of using the following software features: file services, print services, Internet information services, and Internet connection sharing and telephony services on the licensed device.


That says how many other devices may access the features shipped with Windows (and they name them). It has nothing to do with any other app you install.


Things like, you know, network stack, TCP/IP, network drivers, :wink:

But, let’s read a bit further down:

  1.  Installation and Use Rights.

c. Restrictions. The device manufacturer or installer and Microsoft reserve all rights (such as rights under intellectual property laws) not expressly granted in this agreement. For example, this license does not give you any right to, and you may not:

(v) use the software as server software, for commercial hosting, make the software available for simultaneous use by multiple users over a network, install the software on a server and allow users to access it remotely, or install the software on a device for use only by remote users;

You cannot use this software as server software for commercial hosting. Hence, you cannot run storagenode on it.

None of which were features they named (“file services, print services, Internet information services, and Internet connection sharing”). Each of them is it’s own named Windows Service.

You can’t use the home OS installs as a server of the services shipped by Windows. Can’t provide a Windows fileshare Service for 500 users. Can’t provide simultaneous Remote Desktops to 50 users. Can’t serve webpages to 1000 Internet uses with IIS. Can let 30 users use the Windows Print Server.

That entire section is talking about being a “server” for services shipped in Windows. Because those features have their own licenses. It has nothing to do with any 3rd-party app you install.

Microsoft is telling you not to be a “server” of Microsoft services (for more than 20 other devices). If you install your own app: like Storj: it can do whatever it wants.


How do you conclude this?

I agree, 2.d.(iii) talks about named windows services.

However, the preceding 2.c(v), specifically, says " use the software as server software, for commercial hosting", I understand as “any part of this software”, not “selected named services”; and this includes operating system, network services, etc, which you need to use to host third party server software.

The “use by one person at a time” is in the same vein. You can’t let storj customers use features of this software to access node software.

I read it the same way you do: Microsoft talking about what you can do with their OS and the Services that come with it. And the number of people… that can use the OS and Services that come with it.

No mention of what can be done with 3rd-party apps, right?


Well, not really, because this is an OS. Any third party software you use that is communicating with the outside world uses services (let’s for specificity focus on network services) that are part of the OS. The TCPIP stack that Microsoft built and shipped as part of this software. Network driver that Microsoft shipped.

By ruining storagenode you by necessity allow multiple people use these parts of windows software remotely.

Absolutely. Those are standard OS services and libraries: and the reason you installed Windows in the first place. The OS is a platform for running apps, especially 3rd-party apps, for sure!

World would be a pretty boring place if a Microsoft OS was limited to only running Microsoft apps :slight_smile:

All completely normal: and not limited at all by licensing. Apps can talk to the network, and filesystem etc. Install what you want and run what you want!

And then, also, Microsoft ships their own set of network services they built, that are apps themselves running on the OS. Those apps (IIS, file and print services, RD, ICS etc) have their own limits. They don’t want Home installs to be “servers” that allow any (or too many) external simultaneous users of those Microsoft services. If you want to do that: you buy Server and the appropriate licenses.

Or… install 3rd-party alternatives to those MS apps that don’t have license restrictions. Like I can’t run a corporate website for free on Win10 Home on IIS… but I can install Apache!

And that Apache install can use the filesystem, and network, and any library or drivers it wants with no ToS restrictions from MS

Like Storj does.


This is precisely what I’m not convinced about.

E.g. “Can you run Apache on windows 10 home edition and expose it to the internet?” To me it’s not at all obvious. From reading the terms I understand the answer would be “no”, but I’m not a lawyer.

I’ll contact Microsoft to hear it from the horses mouth.

Will report back.

1 Like

Ok, I’ve spent 30 min on this (Support request 7042944133), after a lot of back and forth (they did not seem to understand what I want from them, evidently, I ended up with windows activation support for some reason, but the rep was kind enough to relay my questions to the other internal support folks.

screenshot for skeptics

Eventually I condensed my question to “If I install Apache web server on Windows 10 Home Edition, and expose it to the internet, will this violate windows 10 Home Edition Terms of use?” and the response was “Yes, you can install Apache on Home edition, no problem”.

So while the answer is YES*, it was not exactly what I asked… I did not want to torture her any further (there was huge accent barrier, over what appears to be 10 kilobit voip connection, and she was not in the right team to begin with), so after 20 min I accepted the answer, thanked her for help, and wrapped the call up.

I’ll send another request through email (I could not find contact email at first, call was the only option); if/when I get a response I’ll post here, this will have a benefit of a paper trail.



You guys are INSANE! Please desist!
Focus on Helping the man in need rather! :upside_down_face:


I hope @Alexey will split the thread :slight_smile: sorry OP for the detour :slight_smile:

The world needs people with attention to detail! :sweat_smile:

I admire your inquisitiveness! Though, given this is a legal question, I would try making more facts explicit. Sth like:

Is it legal for me to run a Windows 10 Home system with an Apache web server that serves thousands of my customers over the Internet? I am not using Microsoft IIS.

BTW, perhaps surprisingly, but 2.d.(ii) also applies.

Multiple or pooled connections. Hardware or software you use to multiplex or pool connections, or reduce the number of devices or users that access or use the software, does not reduce the number of licenses you need. You may only use such hardware or software if you have a license for each instance of the software you are using.

Microsoft provides several documents explaining what multiplexing is, like this and this one (PDF warning for both). These documents state that by the number of users they mean any humans that access software or data through any automated or semiautomated means. A storage node would be, by my understanding, classified as a multiplexing software allowing multiple users to upload or download data in automated means. So is a hardware router that simply routes IP packets to that node.

1 Like

Thanks for the PDFs! They make it clear what the terms are for multiplexing/pooling access to those named specific pieces of Microsoft software, that are independently licensed. Basically “don’t do that: buy a license” :slight_smile: . Absolutely no comment on accessing random 3rd-party apps a user installs in Windows.

The MS OS licensing terms are still clear: they restrict having a ‘Home’/no-CAL system serve MS’s included apps to bulk users. If you want to provide MS Remote Desktop, or MS File+Print, or MS IIS (or many other) to bulk users: buy a Server license and the appropriate CALs.

If you install a 3rd-party app: the MS OS license agreement applies no restrictions. Windows will just run it: as designed: it’s supposed to provide filesystem/network access to anything. Like Storj.

1 Like