If you are developing software for a client, then there is a contract between you/your company, and the client/their company. These are the two parties to the contract. Anyone else, not bound by the contract, is a third party. It's used wherever a contract exists between two parties to mean anyone not bound by the contract.
There is no fixed meaning to which of the two parties is 'first' and which 'second', usually you will think you're the first party, and the client the second, whereas the client will think they are the first party and you the second, in a similar fashion to first, second and third person I/he/they.
It's a term that's often used in Windows-centric development: the first and second parties are me (or you), and Microsoft; and the third party is anyone else:
Sometimes it means the customer or end user (e.g. "if we get a 'redistributable' from Microsoft, that means that we can redistribute it to 'third parties'")
More often, it means a non-Microsoft vendor of programming tools or libraries, which I'm using (for example, "NUnit and Reflector are both example of 'third-party' tools").
I think of it as from where the code comes from, so when it comes to libraries and development tools I'd say that the first and second parties are the developer and the producer of the development tool. So as a .Net developer the parties are me and Microsoft, since I write code using Microsofts framework and controls and I might also then user third party code/controls.
These terms are well defined in English when talking about grammar (English grammar or another language's).
First person corresponds to the
pronouns "I" and "we"; "me" and "us" (so a book written in the first person is a story told by the central character - "I did this" as opposed to "Smith did this").
Second person corresponds to the
pronoun "you".
Third person
corresponds to the pronouns" he",
"she", "it" and "they"; "him", "her"
and "them".
So "third party" just means not you or me, but them.
I don't think first and second party are used that much, if at all, in programming. If someone started talking about first and second parties at work, I would wonder what they meant. However, "third party" is much more common and familiar.
"Third party software" is a common term. I've never heard of "first party software", or "second party software".
third party
noun
a person or group besides the two primarily involved in a situation, esp. a dispute.
• a political party organized as an alternative to the major parties in a two-party system.
adjective [attrib.]
of or relating to a person or group besides the two primarily involved in a situation : third-party suppliers.
Let's take Iphone for example.
Apple by its hardware and software are first party.
End user like me and you are the second party .
the third party is the person who enter this relation like an app developer
that effect me and apple .
It's context driven though. This situation also applies.
From a development perspective:
I'm developing an app for my company for internal use (first Party)
Most of the "assets" that I'm using for the app are from Microsoft (second party)
But I'm also using this database library from this other company (third party)
First and Second remain interchangeable depending on perspective. The customer isn't even on this chart but that's partially because that's an entirely different relationship with it's own rules.
Be careful when talking about legal contracts because while they do often use the term third party as we're discussing, there is also the practice of identifying pe4ople as"the party of the first part A, the party of the second part B, the party of the Third part C, ... , the party of the nth part ...
which serves only to list a bunch of people without specifying a relationship. And it can also be the parties of the first part a,b,c and the parties of the second part x,y,z, ...