I think the vocabulary here is very confusing. Let’s be clear: these words have definitions (I’ll just take Wiktionary):
Product: Anything that is produced; a result.
Project: A planned endeavor, usually with a specific goal and accomplished in several steps or stages.
In the context of the software industry, these definitions apply as in any other context: for example a team may have a Project of adding a new feature to a Product.
The difference between a Product and a Project is not:
Product is easy to use while Project is not
Product is a commodity offered/sold by a corporation to make money while Project is volunteer work aiming to save the world from corporations
Mastodon is a Product. It is produced by human work. You can just register to an existing instance. The fact that you can host it by yourself in your own terms is a feature of this Product.
Think of Mastodon as a vegetable you get from a local farmer: it’s a Product (it’s been cultivated by a human), but it will require more work than an already-cooked dish, but when you’ll have finished your Project of cooking your meal in your own terms, it will be delicious.
Sure, but I’d argue that this a rarely used definition. By that definition there isn’t many things physical, virtual and abstract that are not a product.
While correct going with this definition is not helpful in pretty much any form of conversation. Like many other words that can mean pretty much everything by their definition.
A company producing computers might also produce a waste, sewage, paper trails, broken dreams, anger, yet only one of these things is likely considered their product.
There is many scenarios where the meaning/usage of some word doesn’t match the first definition in a dictionary. And with philosophical and abstract discussions it’s even more common.
That’s why you define words in the beginning. You also do that in laws, contracts, etc. And it was done in that article.
I’d argue that putting product in contrast to project as well as the topic and context make that word an okay choice.
I think I agree with your remark: my comment insists too much on definitions, while my initial intention was “just” to say that the vocabulary used in the post was misleading.
And I think it’s misleading because it fails to say what polished/funded/all-inclusive Products bring compared to volunteer-work/FLOSS Products: commodity. Obviously commodity wins, because we made our world crazily fast, but I think it also wins because most people don’t know what the tradeoffs are (mainly privacy, but also the environmental footprint of giant servers mining data for the sake of targeted ads).
So I’d say that the main answer is, as usual, education (of all forms: as soon as possible at school, at work, within families, etc.). If “people” knew what they are dealing with when it comes to big corp products, maybe they would consider making the effort of using less polished products, of maybe even they would consider helping make these products better (give feedback, time, money). This is the idea behind the last sentence of my comment: when “people” know more about the benefits of local/raw food, they make the extra effort of buying less transformed food. I believe the same could apply to tech products.
Stephen Walli gives a great talk on this subject, though his definitions are a bit different. A project is the thing that has a pile of code that it maintains and some infrastructure surrounding it. A product is the thing that people use. With this definition, the claim in the article is a tautology.
The key message from Stephen is that the two things are different. The product can’t exist without the project (so, if you want to sell the product or things built on the product) then you need to ensure that the project is healthy. Conversely, the project is not the thing that you want users to depend on.
For a lot of open source projects, the line is a bit blurry. The project is the thing in the GitHub repo, the product is the thing in the releases tab. For others, the product is the result of some integration. His go-to example is Moby (the project) and Docker (the project). This one is interesting because most people who say that they want Docker actually want some packaged version of Moby.
I guess I want projects then, in this model, since products always turn out bad and are then replaced with other products, while projects live on as long as we keep them alive, by using and cultivating them together.
I can’t explain it better than the author, or OP: the problems surfaced by this essay are real, and the root cause still hard to grasp.
NB: IMO, there is no interest in bike shedding about the definition of words because the context is so very well stated that the concepts behind the words are transparent.
NB1: It is never just black, or just white.
This would have been more clearly phrased in terms of capitalism and communism. Consumers in a capitalist society are trained to purchase products. That urge to purchase shouldn’t be conflated with genuine desires, whatever those may be.
Okay, let’s use the article’s example: consumers don’t have a genuine desire to purchase Twitter/Bluesky verification, nor to purchase Mastodon accounts. They have a genuine desire to interact with other people and express themselves in public. But capitalism can’t provide genuine human interaction as a product.
But capitalism can’t provide genuine human interaction as a product.
My daughter uses FaceTime on our iPad to speak with her grandparents in another country. She uses Messenger kids to organize playdates with her friends.
Genuine human interaction isn’t an economic good! As soon as it is transactionalized, it is commodified, and any alterations ruin the candor. In general, any amateur interaction cannot be sold as a good.
Because the entire thesis of the article is phrased with a consumerist worldview which is only viable under extractive capitalist societies. (And I’ve yet to see a non-extractive capitalist system.)
Yeah, even in a communist financial structure there would still be a need for polished final products. Otherwise you’re just producing things to say you’re producing things without a care for whether it actually gets used.
Not to derail what is apparently an off-topic thread, but what exactly does it mean for a software package to be a “final product”? I understand what it means in terms of capitalist logistics: each boxed copy of software is sold with its own license. But in the Free Software community – a functioning commune – what does it mean to finalize or productize a hunk of software, beyond compatibility with capitalist worldviews?
Maybe from a usability perspective: to finalize and productize is to take further steps than just the initial hacking to turn a tool or a system into a well-delineated and documented unit fit for use by others (and potentially many more) than oneself. That said, a lot of usability comes from familiarity and is thus is largely based in the current culture of use, which can be intertwined with capitalism.
I see where the author is coming from; it can be very discouraging to see people flock to shitty, broken, privacy-destroying “products” over “projects” whose main sin is being chronically under-funded. It’s easy to say, “well, people just don’t care about their privacy,” or whatever the VC violation du jour happens to be.
But many people - millions of people - are willing to put up with a little bit of technical difficulty to avoid being spied on, being cheated, being lied to in the way that so many SaaS products cheat us, lie to us, and spy on us. It’s a tradeoff, and there is a correct decision.
There are basically two options; I don’t know which one is true. Either:
a. with sufficient funding, regulation, and luck, we can build “products” to connect people and provide services that aren’t beholden to VCs or posturing oligarchs, quickly and effectively enough that the tradeoff becomes easier to make, or
b. we cannot, and capital remains utterly and unshakably in control of the Internet, and the rest of our daily lives, until civilization undergoes some kind of fundamental catastrophe.
From the author’s bio:
Twi works tirelessly to make sure that technology doesn’t enslave you.
I appreciate that work. It’s vital. Unfortunately, I’m pretty sure we’re going to lose this war unless we can implement drastic, radical regulation against VC-backed tech companies on, frankly, completely unrealistic timelines. We’re already living the cyberpunk dystopia; get ready for the nightmare.
I think the funding discussion needs to start with what libre project are. For all his faults, I think this was best summarized by Drew Devault: Open source means surrendering your monopoly over commercial exploitation . Or perhaps to rephrase, libre software is a communal anti-trust mechanism that functions by stripping the devs of all coercive power.
This is a useful lense to view libre software because plenty of projects are so large that they have a functional monopoly on that particular software stack, which provides some power despite the GPL. Also, “products” (which are UX-scoped) are usually of larger scope than”projects” (which are mechanism-scoped), almost by definition. A lot of libre projects are controversial almost exclusively because they’re Too Big To Fork.
So I think there are two sides to the problem here: decreasing the scope (for the reasons above), and increasing the funding.
Funding-wise, the problem is that 1) running these systems requires money, 2) whoever is providing the money has the power, and 3) users don’t seem to be providing the money.
So, there are three common solutions to this: get the funding from developers (i.e. volunteer-run projects), get the funding from corporate sugar-daddies (either in the form of money or corporate developer contributions), or get the funding from average consumers.
Volunteer-run projects are basically guaranteed to lose to corporations - most devs need a day job, so corporations will largely get their pick of the best devs (the best devs are essentially randomly distributed among the population, so recruiting from the much-smaller pool of only self-funded devs means statistically missing out on the best devs), and typically results in the “free as in free labor” meme.
Corporate funding will, even with the best of intentions by the corporations in questions, tend to result in software that’s more suited to the corporate use-cases than average users - for instance, a home server might primarily need to be simple to set up and maintain by barely-trained users whereas Google’s servers might primarily need to scale well across three continents. This has two effects: first off, it increases the scope, (which is bad per the above paragraphs), and saps the priorities of the project if there ever need to be hard decisions. Second, it gives coercive power to the money-holder, obviously.
So the last option is getting the funding from the average consumer. Honestly, I think this is the only long-term viable solution, but it basically involves rebuilding the culture around voluntarism. As in, if everyone in the FOSS community provides e.g. a consistent $20/month and divvies it up between the projects they either use or plan to use, then that could provide the millions/billions in revenue to actually compete with proprietary ecosystems.
…or it would provide that revenue, if everyone actually paid up. But right now something like 99% of Linuxers et al don’t donate to the libre projects they use. Why is that?
Well for starters, businesses pour huge amounts of effort into turning interested parties into paying customers, whereas plenty of open-source projects literally don’t even have a “donate!” page (and even if they do have such a page, plenty of those are hard to find even when actively looking for them), let alone focusing on the payment UX.
IMO, there needs to be a coordinated make-it-easy-to-pay project (or should I say “product”?), where e.g. every distro has an application preinstalled in the DE that makes it easy to 1) find what projects you most often use (and also what you want to use in future), 2) set up payment, and 3) divvy it up in accordance to what you want to support.
BTW, I hate the term “donate” (and you’ll notice I don’t use it) because it displays and reinforces a mindset that it’s a generous and optional act, as opposed to a necessary part of “bringing about the year of the linux desktop” or “avoiding a cyberpunk dystopia” or such.
So, a product is something the author thinks isn’t too much work, and a project is something the author feels is too much work. Got it. Very useful article. 🥸
I think the vocabulary here is very confusing. Let’s be clear: these words have definitions (I’ll just take Wiktionary):
In the context of the software industry, these definitions apply as in any other context: for example a team may have a Project of adding a new feature to a Product.
The difference between a Product and a Project is not:
Mastodon is a Product. It is produced by human work. You can just register to an existing instance. The fact that you can host it by yourself in your own terms is a feature of this Product.
Think of Mastodon as a vegetable you get from a local farmer: it’s a Product (it’s been cultivated by a human), but it will require more work than an already-cooked dish, but when you’ll have finished your Project of cooking your meal in your own terms, it will be delicious.
Sure, but I’d argue that this a rarely used definition. By that definition there isn’t many things physical, virtual and abstract that are not a product.
While correct going with this definition is not helpful in pretty much any form of conversation. Like many other words that can mean pretty much everything by their definition.
A company producing computers might also produce a waste, sewage, paper trails, broken dreams, anger, yet only one of these things is likely considered their product.
There is many scenarios where the meaning/usage of some word doesn’t match the first definition in a dictionary. And with philosophical and abstract discussions it’s even more common.
That’s why you define words in the beginning. You also do that in laws, contracts, etc. And it was done in that article.
I’d argue that putting product in contrast to project as well as the topic and context make that word an okay choice.
I think I agree with your remark: my comment insists too much on definitions, while my initial intention was “just” to say that the vocabulary used in the post was misleading.
And I think it’s misleading because it fails to say what polished/funded/all-inclusive Products bring compared to volunteer-work/FLOSS Products: commodity. Obviously commodity wins, because we made our world crazily fast, but I think it also wins because most people don’t know what the tradeoffs are (mainly privacy, but also the environmental footprint of giant servers mining data for the sake of targeted ads).
So I’d say that the main answer is, as usual, education (of all forms: as soon as possible at school, at work, within families, etc.). If “people” knew what they are dealing with when it comes to big corp products, maybe they would consider making the effort of using less polished products, of maybe even they would consider helping make these products better (give feedback, time, money). This is the idea behind the last sentence of my comment: when “people” know more about the benefits of local/raw food, they make the extra effort of buying less transformed food. I believe the same could apply to tech products.
Stephen Walli gives a great talk on this subject, though his definitions are a bit different. A project is the thing that has a pile of code that it maintains and some infrastructure surrounding it. A product is the thing that people use. With this definition, the claim in the article is a tautology.
The key message from Stephen is that the two things are different. The product can’t exist without the project (so, if you want to sell the product or things built on the product) then you need to ensure that the project is healthy. Conversely, the project is not the thing that you want users to depend on.
For a lot of open source projects, the line is a bit blurry. The project is the thing in the GitHub repo, the product is the thing in the releases tab. For others, the product is the result of some integration. His go-to example is Moby (the project) and Docker (the project). This one is interesting because most people who say that they want Docker actually want some packaged version of Moby.
I guess I want projects then, in this model, since products always turn out bad and are then replaced with other products, while projects live on as long as we keep them alive, by using and cultivating them together.
Anybody got an archive.is? I’ve already blackholed .zip
Check the “archive” link under the submission !
Oh wow staring me right in the face. How I missed this after all these years, I clearly can’t blame the coffee 😂
You can also see https://twilightsparkle.fly.dev/blog/product-vs-project I guess lol
I can’t explain it better than the author, or OP: the problems surfaced by this essay are real, and the root cause still hard to grasp.
NB: IMO, there is no interest in bike shedding about the definition of words because the context is so very well stated that the concepts behind the words are transparent. NB1: It is never just black, or just white.
This would have been more clearly phrased in terms of capitalism and communism. Consumers in a capitalist society are trained to purchase products. That urge to purchase shouldn’t be conflated with genuine desires, whatever those may be.
That doesn’t make it clearer at all, and I don’t think it’s even related.
Okay, let’s use the article’s example: consumers don’t have a genuine desire to purchase Twitter/Bluesky verification, nor to purchase Mastodon accounts. They have a genuine desire to interact with other people and express themselves in public. But capitalism can’t provide genuine human interaction as a product.
My daughter uses FaceTime on our iPad to speak with her grandparents in another country. She uses Messenger kids to organize playdates with her friends.
Your daughter’s grandparents and friends are not products.
I see. When you wrote
You meant a literal human interaction. I interpreted it as giving us products that enable human interaction.
I am now curious. What economic system do you think provides genuine human interaction as a product, since you singled out capitalism.
Genuine human interaction isn’t an economic good! As soon as it is transactionalized, it is commodified, and any alterations ruin the candor. In general, any amateur interaction cannot be sold as a good.
I still don’t understand why you specifically put in capitalism in this sentence.
Because the entire thesis of the article is phrased with a consumerist worldview which is only viable under extractive capitalist societies. (And I’ve yet to see a non-extractive capitalist system.)
I guess I won’t actually get an answer to my question.
Genuine human interaction can be a product, but it cannot be an economic good. Capitalism deals in economic goods.
Yeah, even in a communist financial structure there would still be a need for polished final products. Otherwise you’re just producing things to say you’re producing things without a care for whether it actually gets used.
Wasn’t that exact outcome among the failure points of communist command economies?
(I hope I’m adding something, and not just ruining a joke by pointing it out; sometimes sensing tone on the internet is hard)
Not to derail what is apparently an off-topic thread, but what exactly does it mean for a software package to be a “final product”? I understand what it means in terms of capitalist logistics: each boxed copy of software is sold with its own license. But in the Free Software community – a functioning commune – what does it mean to finalize or productize a hunk of software, beyond compatibility with capitalist worldviews?
Maybe from a usability perspective: to finalize and productize is to take further steps than just the initial hacking to turn a tool or a system into a well-delineated and documented unit fit for use by others (and potentially many more) than oneself. That said, a lot of usability comes from familiarity and is thus is largely based in the current culture of use, which can be intertwined with capitalism.
I see where the author is coming from; it can be very discouraging to see people flock to shitty, broken, privacy-destroying “products” over “projects” whose main sin is being chronically under-funded. It’s easy to say, “well, people just don’t care about their privacy,” or whatever the VC violation du jour happens to be.
But many people - millions of people - are willing to put up with a little bit of technical difficulty to avoid being spied on, being cheated, being lied to in the way that so many SaaS products cheat us, lie to us, and spy on us. It’s a tradeoff, and there is a correct decision.
There are basically two options; I don’t know which one is true. Either:
a. with sufficient funding, regulation, and luck, we can build “products” to connect people and provide services that aren’t beholden to VCs or posturing oligarchs, quickly and effectively enough that the tradeoff becomes easier to make, or
b. we cannot, and capital remains utterly and unshakably in control of the Internet, and the rest of our daily lives, until civilization undergoes some kind of fundamental catastrophe.
From the author’s bio:
I appreciate that work. It’s vital. Unfortunately, I’m pretty sure we’re going to lose this war unless we can implement drastic, radical regulation against VC-backed tech companies on, frankly, completely unrealistic timelines. We’re already living the cyberpunk dystopia; get ready for the nightmare.
I think the funding discussion needs to start with what libre project are. For all his faults, I think this was best summarized by Drew Devault: Open source means surrendering your monopoly over commercial exploitation . Or perhaps to rephrase, libre software is a communal anti-trust mechanism that functions by stripping the devs of all coercive power.
This is a useful lense to view libre software because plenty of projects are so large that they have a functional monopoly on that particular software stack, which provides some power despite the GPL. Also, “products” (which are UX-scoped) are usually of larger scope than”projects” (which are mechanism-scoped), almost by definition. A lot of libre projects are controversial almost exclusively because they’re Too Big To Fork.
So I think there are two sides to the problem here: decreasing the scope (for the reasons above), and increasing the funding.
Funding-wise, the problem is that 1) running these systems requires money, 2) whoever is providing the money has the power, and 3) users don’t seem to be providing the money.
So, there are three common solutions to this: get the funding from developers (i.e. volunteer-run projects), get the funding from corporate sugar-daddies (either in the form of money or corporate developer contributions), or get the funding from average consumers.
Volunteer-run projects are basically guaranteed to lose to corporations - most devs need a day job, so corporations will largely get their pick of the best devs (the best devs are essentially randomly distributed among the population, so recruiting from the much-smaller pool of only self-funded devs means statistically missing out on the best devs), and typically results in the “free as in free labor” meme.
Corporate funding will, even with the best of intentions by the corporations in questions, tend to result in software that’s more suited to the corporate use-cases than average users - for instance, a home server might primarily need to be simple to set up and maintain by barely-trained users whereas Google’s servers might primarily need to scale well across three continents. This has two effects: first off, it increases the scope, (which is bad per the above paragraphs), and saps the priorities of the project if there ever need to be hard decisions. Second, it gives coercive power to the money-holder, obviously.
So the last option is getting the funding from the average consumer. Honestly, I think this is the only long-term viable solution, but it basically involves rebuilding the culture around voluntarism. As in, if everyone in the FOSS community provides e.g. a consistent $20/month and divvies it up between the projects they either use or plan to use, then that could provide the millions/billions in revenue to actually compete with proprietary ecosystems.
…or it would provide that revenue, if everyone actually paid up. But right now something like 99% of Linuxers et al don’t donate to the libre projects they use. Why is that?
Well for starters, businesses pour huge amounts of effort into turning interested parties into paying customers, whereas plenty of open-source projects literally don’t even have a “donate!” page (and even if they do have such a page, plenty of those are hard to find even when actively looking for them), let alone focusing on the payment UX.
IMO, there needs to be a coordinated make-it-easy-to-pay project (or should I say “product”?), where e.g. every distro has an application preinstalled in the DE that makes it easy to 1) find what projects you most often use (and also what you want to use in future), 2) set up payment, and 3) divvy it up in accordance to what you want to support.
BTW, I hate the term “donate” (and you’ll notice I don’t use it) because it displays and reinforces a mindset that it’s a generous and optional act, as opposed to a necessary part of “bringing about the year of the linux desktop” or “avoiding a cyberpunk dystopia” or such.
So, a product is something the author thinks isn’t too much work, and a project is something the author feels is too much work. Got it. Very useful article. 🥸