Open Source: Pros and Cons

There was a time when I thought open source software was unequivocally awesome (can’t help loving free software!), but have increasingly had second (and third) thoughts.

The open source model works when the developer(s) has a source of income other than the product. If you get paid to do other work, live off your parents, receive money from a foundation, or have a good Kickstarter presence, you can afford to give your product away and still eat. But if developing software is what you want to devote your best energy to, and you have no other means of support, the open source model has the potential to undermine what you do.

One of the problems with commercial software is that it tends to be prohibitively expensive. People are willing to shell out $30-50 for a video game, but not $400+ for a software application. I believe that at the right price point, the increased volume would more than make up the difference. RobotC at $79 does pretty well in this department, especially for a niche product.

I do realize that open source software has the potential to benefit many people, especially those in impoverished areas. However, if priced properly, software can be made accessible to the many who can afford it, while giving fair compensation to those who devote the best part of their lives to it. For those without funds, a grant or developer donation could provide a good number of licenses to the especially needy if the product costs only $30. I would be willing to pay on that order of magnitude for most products that I have use for, especially if it reduces glitchiness and the likelihood of bricking my hardware.

I mainly operate from the consumer side, but I’m also interested in hearing what developers (and potential developers) think. I’d like to know under what conditions/contexts you think commercial vs. open source are most beneficial rather than just an “all awesome” or “all awful” assessment.

1 Like

In the case of robotics, I don’t have a side, because the Open Source software will most-likely: Innovate more, but may lack support. And the commercialized product would have a larger support base, but less features.

Cost has no reference to price. Price is what you are willing to pay for an item. Cost is how much it takes to deliver that product.

Hence the $10 shrimp dinner has a $10 price, but costs $15. They hope you will buy a side / drink / dessert to bring their profit model right side up.

I like VEX IQ, since the “price is right” I tell parents that for the cost of a very nice Philly dinner, drinks, dessert and tip is less than what you would pay for a VEX IQ kit.

Likewise, Robot C in a bulk license set is less than watching at the <playoff / finals / championship> with wings and beverages.

I may be open source, but I’m not open support. But we are talking small money here. If the cost of an RobotC license is too much for your team to take on, drop me an email. I have money for grants for teams that can’t skip out on a “Buffalo Wild Wings Dinner”

This is a big subject, not sure what the motivation behind the question is here. However, with respect to robotics, and specifically VEX then I guess I should chime in as the only provider of a fully open source solution for programming the VEX cortex.

It’s true that open source has a cost. With ConVEX the cost was my time, I spent approximately three months of weekends and evenings creating ConVEX. That time, along with the hours spent reverse engineering the cortex over the previous few months, probably amounted to perhaps 250 hours. Had I been working as a contractor the cost would be perhaps $40,000. I have a day job so can afford to do this, my motivation was not money but rather the satisfaction gained from the creative and intellectual challenge.

The market penetration for ConVEX is insignificant, almost no one is using it, however, those that are have the ability to create software that is just not possible with the commercial offerings. I hope that ConVEX, and everything else I try and contribute to the VEX community, reach a few students that then say “I can do that as well”.

It is true that there is no tech support number the users of ConVEX can call. Questions have been asked on the forum and I generally have an answer, and perhaps a bug fix, within a few hours. In some ways this is superior tech support, some of the bugs in the commercial offerings don’t get solved for several months.

I think that many open source developers have similar idealistic feelings, they do it as a labor of love rather than for materialistic gain. It’s not a question of competing with the commercial alternatives, ROBOTC and EasyC are relatively inexpensive and the price drops considerably when purchased in volume. It’s more a question of removing the limitations that the commercial software imposes, with open source there are no artificial limitations, even if I have chosen not to implement a feature, if you want/need it then you have that ability to add that feature instantly.

+1 I would agree with this.
Open Source has the most accessibility for experienced programmers.

Kind of off topic, but I feel like I need to say…

Can we just take a moment…seriously…to thank James Pearman and everyone else on this planet that thinks like this.

I don’t even use ConVex (it’s way over my head as of right now…I’m learning though!) but I truly respect Mr. Pearman, and others like him, who go above and beyond in any aspect of life for reasons other than money. That is a rarity these days.

I must say I’m a little suspicious of this Pearman entity. I don’t think it’s possible he’s actually human. Has anyone ever met him in real life? shook his hand? checked for a pulse? sampled his DNA? I think he’s some kind of superbot that’s been built to answer tons of forum questions in amazing detail, then run off and test Vex components while debugging everyone’s terrible RobotC code or EasyC 24/7. And now I’m expected to believe he has a normal job, too?

Yeah, right.

I thought that too, until I met him and thanked him at clash in the canyons a couple months back :slight_smile:

The motivation emerged from a question/discussion that was directed to me. I sometimes (unsolicited) find myself in the role of “technology sociologist” and was asked, “How does the technology community feel about open source, and how does that impact their own future?” Not being a developer myself, I wanted to tap the pulse of developers and/or future developers, and the Vex community is my “stomping ground.”

The answer to this question has the potential to determine the outcome of someone’s future decisions.

I have heard reports of young graduates with programming skills and degrees who are either unable to or unwilling to surrender their ideas to established companies. The ideal scenario would be to find a VC to help them launch their company, but a VC is less likely to support a product that will never collect revenue. In the mean time, they support themselves by living off parents and/or working low-level jobs. If their product could eventually be sold for money, they could earn a living from their computer work and transition away from the “Bank of Mom and Dad.”

Giving things away is great when you can afford it, but there needs to be some means of support for the giver. I teach at a college (which pays me), and I also volunteer in various ways (which doesn’t). If I didn’t have a paid teaching job, most of the volunteer work would evaporate, as I would have to work more hours for less pay as a waitress or barrista, causing my education to sit idle. The volunteer work I do supplements, rather than replaces, the paid work of the people I assist.

I’m wondering whether my anecdotal observations of struggling computer graduates is representative, or whether others are seeing something different. My guess is that the “most brilliant” programmers will never lack for paid opportunities, but the “solid, less stellar” programmers are more vunerable. I shudder at the thought of young folks who might feel, “I really like programming, but I’m seeing fewer job opportunities than I thought, so maybe I should study xxxx instead.”

Actually, one model which I think shows promise is that of app development. Some apps are free, and most others are inexpensive. That small cost doesn’t do much damage to the user, and high volume gives the potential for the developer to collect a reasonable fee.

Thanks, Foster – didn’t mean for this to sound like a plug for a donation. It genuinely evolved out of a philosophical discussion, which will eventually result in a decision.

James, I also appreciate all that you give to this community, and hope that this thread isn’t interpreted as disrespect for what you do.

1 Like

From the individual developer viewpoint:
Some people build skills supporting open source, then get paid jobs based on those skills.

For open source projects of wide use, some people get paid jobs to use open source projects within a company, including updating the open source. Notably famous people (like Larry Wall) are at the top end of this scale, maybe it isn’t generally applicable.

The App marketplace, and freelance sites like task rabbit, mechanical turk, kickstarter, expert-answers micro-payment-sites, can help connect people with (more money than knowledge/skill/time) to people who (have knowledge/skill/time and want money), for the benefit of both. Not all clever ideas have market value, and even if they do, not everyone has the skills for both clever ideas and marketing and management and Entrepreneurship.

Study programming and something else also works well, because many technical jobs can use programming skills for data manipulation and crunching, etc. In most cases, its easier to teach programming to engineers, than engineering to programmers.

  • I test computer chips, but not much anymore.
  • I write programs to test computer chips, but not much anymore.
  • I write programs to analyze the data from testing computer chips.
  • I write programs to write programs to test computer chips, etc.
  • Computer chips are designed in software; software programming is so awesome, even hardware is written in software.

I use open-source Linux, Emacs, Perl, Perl-CPAN, mostly for text-slinging, since all my programs and data are represented in text.

Probably not the best example but my son graduates from Berkeley next year (EECS major). He has secured a job already, companies seemed to be falling over each other to offer him big bags of money and stock. So on the surface there appears to be more demand than supply for NCGs in his area.

I think the low cost app model has probably done more to damage the ability to make a living from programming than open source development.

It’s a good subject to discuss. I’m really not a full time programmer, I have an EE degree and have done all sorts of different things. I agree completely with Joel, learn programming and something else.

Could you elaborate on the rationale for this? Is it because of the expectations of ongoing support and associated costs? My thought was at some point, lowered price could greatly increase volume, compensating for the lower price. Unlike a shrimp dinner, there aren’t material costs associated with each incremental unit.

One problem with having 2 extremes (high cost or no cost) is that you get people who might be willing to pay, but don’t. For example, when my daughter went to college, she needed word processing. We were willing to pay $139 for a Microsoft Office student edition, but it came with the caveat of expiration in 4 years. Because she has autism, the thought of this wrinkle nearly sent her into a melt-down, but a perpetual license at that time was $399, more than we were willing to pay. So we downloaded OpenOffice. While she was happy with the product, I would have felt better about paying “something reasonable.” A potential customer was lost because the 2 options for us were $399 or nothing.

1 Like

I can confirm that he doesn’t exist.

I can’t speak for Mr. Pearman, but what I feel is that with super low cost software like mobile apps and such, the value of programming and the willingness for consumers to purchase software has dramatically decreased, making it harder for programmers to make a living when their employers or clients don’t value their work as much as they used to.

Here was one experiment from a few years back.
http://davidbarnard.com/post/58967317355/the-experiment

I remember reading other similar stories on ars-technica, I will try and dig some out.

That makes sense. While theoretically a few dollars ought to be better than none, the abundance of low-cost apps would “water down” the perception of what software is worth.

Very helpful blog post.

Thanks to y’all (or yinz to CMUers). This is exactly the kind of commentary my friend and I were looking for.

1 Like

I think you’re missing one of the major arguments for open source. It’s not just that it’s free as in I didn’t have to pay money for it. I have a lot of apps on my phone that may be “free” in that I didn’t pay any money for them, but they’re certainly not open source. I mean, I certainly like not paying money for things, but that’s not why I removed a perfectly good copy of Windows on my laptop and replaced it with Linux.

If it’s my property, I should be able to do what I want with it. I should be able to look at the code and see what makes it tick. While it’s certainly nice for things to be in little black boxes that just work, if I want, I should be able to open that black box and see what’s inside, and even change it if I want. After all, it’s mine. With open source every single line of code is there for my inspection, and if I had the skill I could make make any change I like to it. Nobody else gets the ultimate say when it comes to what I do with what belongs to me.

It’s like laptops that are designed so that you can’t replace the batteries with any brand but the manufacturer’s or the BIOS will refuse to recognize it. Not only is it more expensive, it goes entirely contrary to the idea that the laptop is my property.

Code should do what’s best for the user, and should certainly not intentionally work against the user, and open source projects ensure that the user is protected, because the developer IS the user. So, yeah, there’s my rant about why open source is better, go Linux, etc.

Except that when you buy commercial software, you don’t own it, you have only bought a license for it (the famous EULA). With open source, the license is far more permissive and usually includes the ability to redistribute and even charge money for it. If the license is a copyleft (ie. GPL V2.0 etc.) and you redistribute the software, changes you have made must be released under the same license.

maybe he is the Stig

Probably not. Jpearman probably doesn’t know 2 facts about ducks that are both wrong.