We were chatting at lunch the other day about 3rd parties building solutions on the audio engine.
One of the people in my group asked "Why do we call them 3rd parties?"
It's one of those "things that make you go hmm".
There's general consensus in the business world that the people/companies who build a platform are first party developers (it doesn't matter if the platform is Windows, Photoshop, or Quake III).
There's also general consensus that the people who build solutions ON those platforms (so applications on Windows, Photoshop Plugins on Photoshop, <pick your favorite game> on the Quake III engine) are called 3rd party developers.
So we've covered 1st and 3rd party developers, what about the 2nd party developers?
Wikipedia's definition for 3rd party developers is consistent with mine, but they describe 2nd party developers as developers operating under contract to 1st party developers -but they also say it's not a part of standard business practices.
So my question is: "Whatever happened to the second party developers? Where did they go?"
Bonus question: From Microsoft's perspective, Adobe is a 3rd party developer, even though they build a platform. If I'm a developer working on a Photoshop plugin, am I 4th party developer from the eyes of Microsoft?
It probably relates to legalese.
A producer (1st party) supplies a product to a customer (2nd party) using components from another supplier (3rd party).
I think it's just the same logic as first-, second-, and third- person, with the idea that Microsoft is the speaker. Microsoft is the first party, the customer is the second party, and other vendors are the third party.
Google found this, which says that Apple agrees:
There are no second party developers, because the second party is the customer.
First party - Me, Microsoft
Second party - You, the customer
Third party - They, other developers
My guess would be that you are the first party, your customer is the 2nd party, and the other guy is the 3rd party.
I'd always assumed that the second party developers were the end-users.
So when I buy Windows, and write apps/scripts for it, I'm a 2nd party developer, when I buy Acrobat I'm buying 3rd party software.
I've always assumed the 2nd party in that situation was the user. The 1st party is always YOU, irrespective of your actual position in the pecking order.
It's like 3rd party insurance insurance - the 1st party is YOU, the 2nd party is the insurance company and the 3rd party is everyone else.
I think of the party stuff as being from the point of view of the person or company buying the application. So if my department needs a Windows app, the second party is me -- the option of building in-house. Certainly that's how it's used in speech -- gee, looks like Microsoft doesn't have a solution for this, so should we build in-house or go third-party? Put another way, the second party is the user community.
I always thought that (for this example, at least) Microsoft is the 1st party, the *user* is the second party and ISVs are 3rd parties.
I've always considered the "second party" to be the consumer.
The "first party" is the supplier of the primary tools used by the customer: Operating Systems.
The "second party" being the consumer who's written new tools or modified those tools to suit their needs. This would be the Applications to run on those Operating Systems.
The "third party" supplying code that's neither the primary vendor's responsibility, nor capable of being written in house.
Most software these days doesn't have an active "second party" at all. But back in the day, when you bought your Big Iron, your computer came with a program loader and batch language cleverly marketed as an Operating System. You then had to write your own applications to run on it.
If you wanted to skip that step and buy software to run on your system, you talked to a third party supplier.
Silly idea, this:
First party software is written by a company for their own use. (This can be extended to platform once you look at "Third Party")
Second party is when a business (first party) contract to someone (a second party) to create software for their own use.
Third party is when a developer (first party) creates software for use on a platform created by another developer (the second party) to be sold to an end user (the third party)
Technically, since Windows is written to run on top of a hardware platform wouldn't that make MS a third party vendor to Intel and AMD. <grin>
An off-the-cuff analysis inspired by my English Lit classes follows...
I am the first person. You are the second person. Everyone else is the third person.
Now, in terms of selling a platform to a consumer, the platform writer is the first person. The consumer is the second person, and everyone else is the third person.
When the platform writer makes software, it's first party software. When "anyone else" makes software, it's third party. What's second party? When the consumer makes their own software. Second party software is open source!
Sure, it's probably not historical or accurate, but still interesting, no?
When I'm writing software in-house, I'm the second party. The OS and developer-tools vendor are the first parties, the ones who provided the base software for whatever I'm doing. Third parties are the other guys, the ones who provide components and controls that I use in the programs I write.
RyanBemrose: You got it exactly right (and said it well) before I even had a chance to try. You&me are 1st&2nd, everybody else is 3rd.
Actually, Ryan, that's what I always thought it meant.
I always thought the second-party was the customer. First party - manufacturer, second party - customer, third party, someone unrelated.