As a long time pirate and general collector of every game made that is crack-able, I never bothered with pesky things like Licenses. If I wanted to run a copy of Microsoft SQL Server I didn't bother with that Express crap. No, I went full on Enterprise. Did I need failover? Nah, nor could I even use it.
Let me be frank. This isn't one of those "Piracy hurts the developers" craptastic escapades into moral and ethical hijinks. This isn't an article to downplay or promote piracy either. This is an observation and something that's been on my mind for a while now.
The Problem with being a Pirate
One of the biggest misconceptions of mine was the cost of software. I knew the cost of Windows. It was $199 for Pro and probably a little more for Ultimate. It didn't matter. These are numbers that only had consequence when ordering a Laptop because Linux on a laptop is rare and never on anything gaming class. I can understand that because; and let's be honest here, Linux sucks for gaming. What I never expected was the cost of anything that bore the title Enterprise. This was something that initially confused me, and then flat out frightened me.
For the want of a nail
Last year in March I started a job in computers. I was under paid, but also had no paid experience in my field. It was only two days a week and would cover all my bills with some left over for savings and whatever. Needless to say, it was great. Coming from doing mostly full time plus over time warehousing and customer support, this was a dream job that would also give me the needed experience to pursue higher employment later.
I used my time off to read, play games, and write.
The setup at work was god awful. We were using Access 97 for both internal tables, and linked to a 2008 SQL Server running on a Microsoft Server 2008r2 Machine. One of my predecessors thought it would make more sense to create an SQL statement that would have the SQL server backup onto a small hard disk and then run that statement with Access 97. In fact, every program the place ran used Access 97. We had a website on a hosted solution that would go down at least twice a week. The setup used FTP to grab uploaded files from the site. It knew to do this by querying a MySQL database that was site side. It queried this database every two seconds. The Front End was 140MB due to storing graphics inside the mdb. The code was Kludge at its finest. Often times when doing a repair, I would follow a variable through several modules and functions and then find that it was pulled from the either the SQL Server located in the office or; god help me, the MySQL server.
The DHCP and File Servers were both running Windows NT. They had base 10 network cards. Of the fourteen systems in the building twelve had blown capacitors. Three had been upgraded from NT to XP. Every system was running XP. One out of every four network cables were damaged. Clients were able to upload CSV, XLS, XLSX, and DAT files. All of these used COM in Access 97. We didn’t have enough Licenses to cover the software we were using. I learned that last part later.
I hated it, but it was only two days a week and the requests were simple. They boiled down to fix this and fix that. The biggest problem was when our host decided to encrypt FTP and then they started doing something with the key that made automation impossible. I fixed a few systems blown capacitors. I reinstalled Windows XP at least six times. Over all, easy work. I worked from 9am till 4pm and over if needed. In January of this year, that all changed.
Imagine a dog chasing cars. One day, he catches one. I was that dog and I have no need of a 2002 Honda Accord.
It was during the previous year debriefing. It was mostly annoying stuff like customers gained, customers lost, how it was all this/that persons fault. Honestly the whole thing was unmemorable. Like how it's a typical morning before Godzilla levels Tokyo or Honolulu becomes a lumber yard. I kept asking myself, why are we doing this on a Tuesday? I work two days a week. That gives me a 2 in 6 chance of being here for this. Then the owner casually asks me about rebuilding the whole computer infrastructure. I now see it for what it was. It's like jokingly suggesting sex with your extremely hot cousin and gaging their reaction to see if it might be a go. Half asleep and half paying attention I gave a basic breakdown of what would need to be done. The casual tone of such a heavy topic was probably the same way the Nazi's discussed the Holocaust. I threw out big numbers and deep in the future unrealistic time scales.
Next working morning, they gave approval for the whole dam project. I think I heard laughing in the distance. Somewhere a puppy died. It rained brim stone. I had a whole packet of ramen noodles fall out the side of the strainer and down the drain. I sat there, eyes glazed over, trying to make sense of the horror I was presented with. I've seen some dark stuff in my life. I saw someone die via crushing by cars on a hill, I witness two drownings, and I watched an eldritch abomination order Mc Donald’s, and this. This was worse. It's worse than saying "I like trying new things." In a gay bar.
All of this, and it didn't prepare me for... Microsoft License Agreements. More like Microsoft Extortion.
The cost of doing Business
One of the first things we established was that this was a Microsoft Shop. I couldn't get away with using Debian + MySQL on the server. They wanted MS all the way. I threw out ball park figures I pulled from my ass since as a Pirate, this was never an issue. I also suggested Piracy which was immediately shot down. They sat there with their Apple computers and took notes the whole time. The irony was lost on them. For the last six months I've been full time working 40 and 50 hour weeks.
When rewriting the software, I made an immediate choice. VB.NET (C# for custom controls compiled into a DLL) for User Application and PowerShell for system tasks. I wasn't about to write a bunch of console apps where PowerShell could handle the task. If I used PowerShell, I wouldn't have to store a ton of source codes. I created two servers. One that was average and hosted the Active Directory, DHCP, and DNS; and another that was an absolute beast compared to the originals. It would host the SQL Server and Exchange Server along with the ASP.NET Website. I rewrote the Front End and Website. The Front End looks like the original without the Big Ball of Mud + Spaghetti code and taking advantage of features in .NET that didn't exist sixteen years ago. I tore the Database(s) apart and rebuilt them from scratch since the Originals didn't use the R in relational database nor Procedures and Functions. I set them up to self-repair, self-maintenance, and self-backup. Everything was encrypted to hell and back. Desktops were built from components instead of bought from a Bulk seller. I got 4th gen i5's, 8GB of ram, and SSD's for all the systems. I'm using DISM to make images and WDS to deploy them. I can reimage a system in ten minutes from boot to final desktop. Roaming profiles ensure user data is saved. I'm using One-Click Publishing (Which is more like five or six clicks) to distribute the application. Using Group Policy, I set shortcuts and establish all the roles etc. Systems unlock Bit locker with the Server on EFI boot so if a system is stolen, it stays encrypted.
I've put a lot of effort into the build. You might be asking, "Why VB.NET and not C#" to which I will respond, "I have to train my replacement."
So once everything was established and I knew how the build was going to work, we had to do Licensing. One thing I can say quite honestly is, fuck Microsoft. They didn't get rich being good guys. Here's the breakdown.
The Database
SQL Server 2016; I couldn't use a Per User or Per Device because of the Website. Our machine has a single six core chip. Microsoft Licenses their software per-core. Each core comes in a two pack with a minimum purchase of 4 cores. Each package of 2 costs $3,500. So $10,500 just for the Database. Granted this comes with SSRS which worked great for replacing the Access reports while giving a website report solution that could also export to PDF. For whatever reason, SSRS can't print through the code nor can we trigger a print through its Active X Control. So I have to export to PDF and then print that PDF.
The Server
We're going to be using Server 2016. Due to the website, we have to get an External Connector License since we have authentication on the site so a user can login and upload files. It uses a table for usernames and passwords, but the six agents I talked to assured me that if I didn't have it I would fail an audit. With User CALes it comes up to $4,615 for two copies of Server, 30 Users, and the External Connector License which hosts the SQL Server.
Email
I tried to use hMailserver. Then the testers lost it when they couldn't use Calendars and Task Lists without using a second PST file. Exchange server it is. Oh look, Microsoft charges per user, didn't see that one coming. $655 for the Exchange Server and $85*14 = $1,190 for email... plus calendar and tasks... whatever. I use Thunderbird.
Office Suite
Hell wouldn't be complete with the ability of reason. Office Professional 2016 since our employees use Access to make quires instead of using something like Heidi or Base. I'm not even surprised at this point. $279*14 = $3,906.
Oh, but this one comes with a prize. In order to use the copies, I need a Microsoft account. No, not a bulk account or something that would make my life easier. This is a freaking user account. Like the one MS tires to lay on you when you install Windows 8+. Does this mean I can transfer a License by simply logging out one user and logging in another, nope. It's lock to the machine. So surely I can put all of these on the same account and just use one account for every machine. Wouldn't that be nice? Still, nope. This turd had nutz. If you put two keys on the same account it just lists them both as Microsoft Office Professional 2016. That's it. No MAC address or way to determine which system the key goes to. I have to pick one on log in. Pick the wrong one and I have to uninstall Office, then reinstall office to get a second chance. I also have to call customer support to have the first key unblocked as it's been marked as being a pirate key due to two systems trying to use it.
The OS
8 of our 9 keys we purchased for the new systems were marked as pirate keys. We exchanged them but only got back 7 keys and are now in a tug of war to get the 8th key because the supplier says they sent 8 keys. These are Windows 7 OEM that we are using to get Win10 Pro OEM digital entitlements that end the 28th.
On and on
Also, none of this matters. I can still fail an audit because the Auditor is a jack ass. He/she can make shit up and I have to go to a California circuit court to prove innocents. This is a civil court that is probably in MS's back pocket.
On a side note, we also have to get Adobe Acrobat since I'm using PDFSharp to fill in government forms that I prepared with form fields since the United States government can't seem to provision half way decent forms.
What I've learned
I can understand why a business goes FOSS or Pirate. I suggested FOSS in January, yet the owners opted to suck the MS tit. Why? I don't know. They own Mac's and that means they have no idea what a computer is.
What I do know is Linux needs to start promoting itself. Microsoft is asking absorbent fees and Linux should be able to crush this market.
I really hate Microsoft now. As a pirate I never gave it any thought. Now I know how normal people suffer these tyrants.
After Thoughts
When I showed my complete Front End to the owners they got stars in their eyes. This is always a bad sign and should be treated with fire. I should have released this a month ago, but they spent a week coming up with new ways to delay the project. They go on week long vacations every month and don't bother reading my reports until the day before coming into the office. They only visit the office every two weeks for two days. They remote to the office which is insecure and drives me up a security wall. I'm not complaining so much as I'm wondering why they would treat their cash cow in this manner... Then I remember EA.
I was going to release the Alpha yesterday, but now they want me to rebuild their entire billing system.
I want back my lazy two days. Money is nice, but no one can buy time.
Let me be frank. This isn't one of those "Piracy hurts the developers" craptastic escapades into moral and ethical hijinks. This isn't an article to downplay or promote piracy either. This is an observation and something that's been on my mind for a while now.
The Problem with being a Pirate
One of the biggest misconceptions of mine was the cost of software. I knew the cost of Windows. It was $199 for Pro and probably a little more for Ultimate. It didn't matter. These are numbers that only had consequence when ordering a Laptop because Linux on a laptop is rare and never on anything gaming class. I can understand that because; and let's be honest here, Linux sucks for gaming. What I never expected was the cost of anything that bore the title Enterprise. This was something that initially confused me, and then flat out frightened me.
For the want of a nail
Last year in March I started a job in computers. I was under paid, but also had no paid experience in my field. It was only two days a week and would cover all my bills with some left over for savings and whatever. Needless to say, it was great. Coming from doing mostly full time plus over time warehousing and customer support, this was a dream job that would also give me the needed experience to pursue higher employment later.
I used my time off to read, play games, and write.
The setup at work was god awful. We were using Access 97 for both internal tables, and linked to a 2008 SQL Server running on a Microsoft Server 2008r2 Machine. One of my predecessors thought it would make more sense to create an SQL statement that would have the SQL server backup onto a small hard disk and then run that statement with Access 97. In fact, every program the place ran used Access 97. We had a website on a hosted solution that would go down at least twice a week. The setup used FTP to grab uploaded files from the site. It knew to do this by querying a MySQL database that was site side. It queried this database every two seconds. The Front End was 140MB due to storing graphics inside the mdb. The code was Kludge at its finest. Often times when doing a repair, I would follow a variable through several modules and functions and then find that it was pulled from the either the SQL Server located in the office or; god help me, the MySQL server.
The DHCP and File Servers were both running Windows NT. They had base 10 network cards. Of the fourteen systems in the building twelve had blown capacitors. Three had been upgraded from NT to XP. Every system was running XP. One out of every four network cables were damaged. Clients were able to upload CSV, XLS, XLSX, and DAT files. All of these used COM in Access 97. We didn’t have enough Licenses to cover the software we were using. I learned that last part later.
I hated it, but it was only two days a week and the requests were simple. They boiled down to fix this and fix that. The biggest problem was when our host decided to encrypt FTP and then they started doing something with the key that made automation impossible. I fixed a few systems blown capacitors. I reinstalled Windows XP at least six times. Over all, easy work. I worked from 9am till 4pm and over if needed. In January of this year, that all changed.
Imagine a dog chasing cars. One day, he catches one. I was that dog and I have no need of a 2002 Honda Accord.
It was during the previous year debriefing. It was mostly annoying stuff like customers gained, customers lost, how it was all this/that persons fault. Honestly the whole thing was unmemorable. Like how it's a typical morning before Godzilla levels Tokyo or Honolulu becomes a lumber yard. I kept asking myself, why are we doing this on a Tuesday? I work two days a week. That gives me a 2 in 6 chance of being here for this. Then the owner casually asks me about rebuilding the whole computer infrastructure. I now see it for what it was. It's like jokingly suggesting sex with your extremely hot cousin and gaging their reaction to see if it might be a go. Half asleep and half paying attention I gave a basic breakdown of what would need to be done. The casual tone of such a heavy topic was probably the same way the Nazi's discussed the Holocaust. I threw out big numbers and deep in the future unrealistic time scales.
Next working morning, they gave approval for the whole dam project. I think I heard laughing in the distance. Somewhere a puppy died. It rained brim stone. I had a whole packet of ramen noodles fall out the side of the strainer and down the drain. I sat there, eyes glazed over, trying to make sense of the horror I was presented with. I've seen some dark stuff in my life. I saw someone die via crushing by cars on a hill, I witness two drownings, and I watched an eldritch abomination order Mc Donald’s, and this. This was worse. It's worse than saying "I like trying new things." In a gay bar.
All of this, and it didn't prepare me for... Microsoft License Agreements. More like Microsoft Extortion.
The cost of doing Business
One of the first things we established was that this was a Microsoft Shop. I couldn't get away with using Debian + MySQL on the server. They wanted MS all the way. I threw out ball park figures I pulled from my ass since as a Pirate, this was never an issue. I also suggested Piracy which was immediately shot down. They sat there with their Apple computers and took notes the whole time. The irony was lost on them. For the last six months I've been full time working 40 and 50 hour weeks.
When rewriting the software, I made an immediate choice. VB.NET (C# for custom controls compiled into a DLL) for User Application and PowerShell for system tasks. I wasn't about to write a bunch of console apps where PowerShell could handle the task. If I used PowerShell, I wouldn't have to store a ton of source codes. I created two servers. One that was average and hosted the Active Directory, DHCP, and DNS; and another that was an absolute beast compared to the originals. It would host the SQL Server and Exchange Server along with the ASP.NET Website. I rewrote the Front End and Website. The Front End looks like the original without the Big Ball of Mud + Spaghetti code and taking advantage of features in .NET that didn't exist sixteen years ago. I tore the Database(s) apart and rebuilt them from scratch since the Originals didn't use the R in relational database nor Procedures and Functions. I set them up to self-repair, self-maintenance, and self-backup. Everything was encrypted to hell and back. Desktops were built from components instead of bought from a Bulk seller. I got 4th gen i5's, 8GB of ram, and SSD's for all the systems. I'm using DISM to make images and WDS to deploy them. I can reimage a system in ten minutes from boot to final desktop. Roaming profiles ensure user data is saved. I'm using One-Click Publishing (Which is more like five or six clicks) to distribute the application. Using Group Policy, I set shortcuts and establish all the roles etc. Systems unlock Bit locker with the Server on EFI boot so if a system is stolen, it stays encrypted.
I've put a lot of effort into the build. You might be asking, "Why VB.NET and not C#" to which I will respond, "I have to train my replacement."
So once everything was established and I knew how the build was going to work, we had to do Licensing. One thing I can say quite honestly is, fuck Microsoft. They didn't get rich being good guys. Here's the breakdown.
The Database
SQL Server 2016; I couldn't use a Per User or Per Device because of the Website. Our machine has a single six core chip. Microsoft Licenses their software per-core. Each core comes in a two pack with a minimum purchase of 4 cores. Each package of 2 costs $3,500. So $10,500 just for the Database. Granted this comes with SSRS which worked great for replacing the Access reports while giving a website report solution that could also export to PDF. For whatever reason, SSRS can't print through the code nor can we trigger a print through its Active X Control. So I have to export to PDF and then print that PDF.
The Server
We're going to be using Server 2016. Due to the website, we have to get an External Connector License since we have authentication on the site so a user can login and upload files. It uses a table for usernames and passwords, but the six agents I talked to assured me that if I didn't have it I would fail an audit. With User CALes it comes up to $4,615 for two copies of Server, 30 Users, and the External Connector License which hosts the SQL Server.
I tried to use hMailserver. Then the testers lost it when they couldn't use Calendars and Task Lists without using a second PST file. Exchange server it is. Oh look, Microsoft charges per user, didn't see that one coming. $655 for the Exchange Server and $85*14 = $1,190 for email... plus calendar and tasks... whatever. I use Thunderbird.
Office Suite
Hell wouldn't be complete with the ability of reason. Office Professional 2016 since our employees use Access to make quires instead of using something like Heidi or Base. I'm not even surprised at this point. $279*14 = $3,906.
Oh, but this one comes with a prize. In order to use the copies, I need a Microsoft account. No, not a bulk account or something that would make my life easier. This is a freaking user account. Like the one MS tires to lay on you when you install Windows 8+. Does this mean I can transfer a License by simply logging out one user and logging in another, nope. It's lock to the machine. So surely I can put all of these on the same account and just use one account for every machine. Wouldn't that be nice? Still, nope. This turd had nutz. If you put two keys on the same account it just lists them both as Microsoft Office Professional 2016. That's it. No MAC address or way to determine which system the key goes to. I have to pick one on log in. Pick the wrong one and I have to uninstall Office, then reinstall office to get a second chance. I also have to call customer support to have the first key unblocked as it's been marked as being a pirate key due to two systems trying to use it.
The OS
8 of our 9 keys we purchased for the new systems were marked as pirate keys. We exchanged them but only got back 7 keys and are now in a tug of war to get the 8th key because the supplier says they sent 8 keys. These are Windows 7 OEM that we are using to get Win10 Pro OEM digital entitlements that end the 28th.
On and on
Also, none of this matters. I can still fail an audit because the Auditor is a jack ass. He/she can make shit up and I have to go to a California circuit court to prove innocents. This is a civil court that is probably in MS's back pocket.
On a side note, we also have to get Adobe Acrobat since I'm using PDFSharp to fill in government forms that I prepared with form fields since the United States government can't seem to provision half way decent forms.
What I've learned
I can understand why a business goes FOSS or Pirate. I suggested FOSS in January, yet the owners opted to suck the MS tit. Why? I don't know. They own Mac's and that means they have no idea what a computer is.
What I do know is Linux needs to start promoting itself. Microsoft is asking absorbent fees and Linux should be able to crush this market.
I really hate Microsoft now. As a pirate I never gave it any thought. Now I know how normal people suffer these tyrants.
After Thoughts
When I showed my complete Front End to the owners they got stars in their eyes. This is always a bad sign and should be treated with fire. I should have released this a month ago, but they spent a week coming up with new ways to delay the project. They go on week long vacations every month and don't bother reading my reports until the day before coming into the office. They only visit the office every two weeks for two days. They remote to the office which is insecure and drives me up a security wall. I'm not complaining so much as I'm wondering why they would treat their cash cow in this manner... Then I remember EA.
I was going to release the Alpha yesterday, but now they want me to rebuild their entire billing system.
I want back my lazy two days. Money is nice, but no one can buy time.