License Implications for ASP.NET, IIS. docker

Zap Bee 21 Reputation points
2021-05-19T19:10:33.56+00:00

Hello,
I recently found out about ASP.NET Core and I am amazed by the possibilities. I want to develop an embedded system and therefor am evaluating different routes for realization. I intend to do an app running on a localhost server that serves the program as a webapp into the browser, adding a far more modern look to the UI (IMHO). Then I intend to use the docker container image of ASP.NET, a) because everything is in its place (and no customer can do much harm by accidentally deleting or modifying files) and b) i can more easily roll out versions to customers.

Here are my questions: Is this use case of ASP.NET Core on an embedded device a good idea or would you strongly advice against this and rather develop with normal C# and WPF forms app and a MVVM pattern? I really like the interactivity of browser apps and think this would greatly improve the usability over a classic windows program UI.
Second question: Is this free to do (are all license costs already paid for if I sell that system on a computer that ships with Windows 10 professional?), or do I have to pay Windows server license fees? And if there are license fees, how high will these be?

That last question I ask because I see that ASP.NET Core comes with a Apache 2.0 license and the docker container base images with MIT license as on github, but it explicitly links to the windows server license sections for IIS. I do not intend to run this program in the cloud, I intend to sell these to customers, they should reliably run it in their production environments and I want to be able to comfortably update their embedded devices whenever a new feature is ready.

Internet Information Services
ASP.NET Core
ASP.NET Core
A set of technologies in the .NET Framework for building web applications and XML web services.
4,226 questions
{count} votes

Accepted answer
  1. AgaveJoe 26,161 Reputation points
    2021-05-21T12:08:58.72+00:00

    Easier formulated: My question is, do I not have to worry developing and deploying asp.net core apps locally about license fees and is asp.net core safe to run locally on production machines.

    I do not understand your question or concern. Windows Server requires a license to run. If you build an application that targets Windows Server, then anyone that installs/hosts your application on a Windows server needs a license to run Windows.

    GNU is a license for sharing software with rules related to modification. You can offer your source code under a GNU license if you like.

    0 comments No comments

3 additional answers

Sort by: Most helpful
  1. AgaveJoe 26,161 Reputation points
    2021-05-20T12:09:58.773+00:00

    Your questions are a bit too open to answer. I recommend learning .NET 5 rather than making assumptions.

    I've built a lot of embedded systems. In my experience "embedded" means installed on a targeted OS/Hardware. Core is multi-platform but research is needed to make sure Core supports the targeted OS/Hardware.

    I think your other question is asking if you should build a Web Application or Embedded??? Well, that's up to you and your project requirements. It's possible to end up with a little bit of both. The application is installed on the target device while application services are located in the cloud.

    If you intend to host the application in the cloud then purchase the cloud services needed to support the application requirements.

    Apache 2.0 and MIT license permit use in proprietary software but there are rules related to modification. I recommend reading the licenses so understand what's covered.

    0 comments No comments

  2. Zap Bee 21 Reputation points
    2021-05-20T16:50:19.003+00:00

    @AgaveJoe -> Answering here, because the comment form is broken somehow..

    Your questions are a bit too open to answer. I recommend learning .NET 5 rather than making assumptions.

    How do you come to that conclusion? I have experience with MVVM C# and MVC web apps. I just recently came across asp.net core because of license implications of running a completely gnu based system.

    I think your other question is asking if you should build a Web Application or Embedded?

    No, you clearly misunderstood. My question is, if it is feasible by license to build a asp.net web app executed on an Embedded device. And if this would be safe enough or if this is a bad idea security wise and rather go with traditional MVVM. The app will NOT run in the cloud, but on localhost on an EMBEDDED device.

    Apache 2.0 and MIT license permit use in proprietary software but there are rules related to modification. I recommend reading the licenses so understand what's covered.

    Yeah,and now tell me about the license plan https://www.microsoft.com/en-us/windows-server/pricing

    Easier formulated: My question is, do I not have to worry developing and deploying asp.net core apps locally about license fees and is asp.net core safe to run locally on production machines.

    0 comments No comments

  3. Zap Bee 21 Reputation points
    2021-05-21T16:32:36.333+00:00

    @AgaveJoe
    See, that was my question, because I already own a license of the Windows host machine, so my question was "if there is a need to double license it?".

    The whole reason why I want to use ASP.Net core with my project is because of the FOSS licenses. I may develop my code without paying for it but I eventually have to open source it, making the whole thing a no deal. Therefor I'd like to compile my project with ASP.Net, only use libraries with non GNU licenses, so called permitting licenses (like MIT and Apache) and distribute the system as binaries.

    Therefor my question is, do I need windows server license to run it in a docker image on a local machine with iis (the windows server license states, each is minimum 8 cores, my edge devices will probably have maximum 4 cores, rather 2, so I think this will be a very bad solution, cost wise)? Is it safe to run this system with the development server (Kestrel, IIRC)?
    Or is it not advisable and I rather should do a more conservative way, build a WPF application?