Products > Programming

A rant about lack of support on open source software, or anything else actually

(1/21) > >>

I have a very small business and have no real money to spend on R&D.

So I've had a guy working here Mondays (realistically, just the afternoon) doing various stuff like server IT. He also has embedded experience, in areas which supplement mine.

3-4 years ago we decided to develop a new product, which has an ethernet interface. TCP/IP etc was well above my pay grade (which is mostly embedded/comms/control) plus I had not done any C for about 10 years. So he started on it, Monday afternoons. Started with one ST dev kit, and after a year I did the PCB, which worked 1st time. Another year later I realised progress was minimal and it would take another 10 years, perhaps 100 years, to get anywhere (obviously, half a day a week means you forget much of what you did a week before) so I got stuck in, went up the steep learning curve, and have done most of what needs to be done. Crucially I know what I have done, and it is all 100% solid code (solid except for the simple http server used for config ;) ).

I quickly learnt that you end up working alone.

No support from ST (32F417). They have a forum which is full of desperate people, no ST presence (they are only a €14BN company, so they can't afford to support their products) and virtually no useful replies from anybody. Just one guy occassionally posts good stuff but only after he's told you that you are a complete moron. They do loads of videos which are barely legible (very poor English).

No support on LWIP. There is a mailing list which is dead. Vast amounts of bogus info posted everywhere.

No support on MbedTLS. There is a mailing list which is dead.

No support on FreeRTOS. There is a mailing list which is dead. Fortunately FR runs well.

No support on FatFS. There is a mailing list which is dead. Fortunately FF runs well.

There are also some forums for above (which are also dead).

Then there are many clickbait sites which copy stuff from other sites, in bulk, to get google hits.

93.7% of the internet :) is desperate people asking questions on the above and getting no answers, and sometimes getting duff answers. Then there is Github (almost everything gets lifted off Github, which you discover by googling on source code comments), and probably a similar % gets lifted from linux sourcecode if your target is 80x86.

There are some more general forums (notably this one) where you do get useful replies - if you pick the topic carefully.

The Monday guy spent literally years (of Monday afternoons) trawling the internet for bug fixes and patches for the above stuff. He won't post questions anywhere, which makes it a lot harder. But now his part is nearly finished. We have a good running board. We are tidying up the loose ends.

I have learnt a lot and now know how most of it hangs together. In 1-2 years I learnt basic C (still don't get pointers to pointers), LWIP, FreeRTOS, FatFS. A lot of 32F417 bare-metal. But it's been extremely stressful. Nobody to even ask about some bit of C syntax (except on Mondays).

And it is clear that there are many others in my position, trying to get info and eventually, after an absolutely vast amount of googling, eventually finding some tiny snippet of info which happens to solve their problem. Then onto the next problem, and more absolutely vast amount of googling. A few hours later, that bit is running.

How do other people manage?

If you are hourly paid then you don't need to care. Another 1000 page RM = bread on the table at home for another year. What is not to like? The company doesn't matter.

I have looked for people who can do specific portions on the product and found two. Both got boards sent and the Cube dev kit so they could develop properly. One worked out well and did two modules, fixed price. The 2nd I had to stop after he ran up a vast number of hours and went off on a complete tangent (I should have done that fixed price too but for some reason didn't). I paid him but cancelled a part of the project which he was going to do also (involving a server on the web, which he does a lot of). A 3rd chap, fixed price, wrote some code which due to me not doing a precise enough spec he wrote for one of the ST dev kits and I could not run any of it, but I was able to use some of the code. But I have been totally unsuccessful in finding anybody who can do the ETH end (ST ETH, LWIP, MbedTLS). I need someone who really understands that pipeline who can go over all the code, apply latest patches, etc. and be around long-term, and be generally contactable on days other than Mondays. Probably, there is nobody. Obviously only really good people want to work fixed-price :)

It's a really inefficient way to work.

And it was never like this in the past, when chips were simpler. I developed literally hundreds of products over 40 years, all working alone. Just did it from data books. No internet.

The problem is the new functionality. It is so massively more complex.

Pretend the open source code doesn't exist. Then take the actions you would have taken had the code not existed.

I don't get where "support" is expected for any open source code.

I can feel your pain. :clap:

Yes the open source world is not to good on documentation and also technical documentation of manufacturers are not top shelf anymore. It takes effort and good insight to get things done. And indeed when one chooses the "wrong" topic to play with there is not a lot of help around. This forum is quite good and certainly helpful with lots of people with different skills.

Your ethernet quest is one I have on my playlist too, just for hobby because I don't do paid work anymore. But the playlist is long. |O

My venture at the moment is reverse engineering a FPGA design. Not easy either and not a lot of info to be found. But that is the challenge.

Success with your venture,



--- Quote ---Pretend the open source code doesn't exist. Then take the actions you would have taken had the code not existed.
--- End quote ---

Then, small electronics companies could not develop anything of the complexity needed today. The chinese would totally dominate, with 80x86 boxes running linux and Siemens etc would eat the rest, where people don't want to buy chinese junk, or it doesn't exist. Today they dominate almost totally ;) Market segments accessible to small companies are very narrow now.

--- Quote ---I don't get where "support" is expected for any open source code.
--- End quote ---

Fair point. One would think somebody would have set up a forum with specific sections for specific OS software. Mailing lists are a 1980s/90s thing :)

Support is boring work, nobody wants to do it.

The difference in the old days was that you would pay thousands of dollars to buy a library like a TCPIP stack. That price of the license also included some form of support. If you don't want to pay up then you had to develop it yourself, putting hundreds or thousands of man hours into it.

Over time some people did develop it themselves and offered it for free to the world. You already got the code for free, there is no obligation from them to provide support. Tho for some projects (like FreeRTOS) you can pay to get support.

Large chip manufacturers like ST also provide support trough there local offices, but you have to be a reasonably sized company for it to be worth there effort. They organize seminars where you get to talk to there engineers one on one (including free food at the hotel it takes place in). You can talk to the local sales office to get early engineering samples of new products..etc

I have used FatFS, FreeRTOS, LWIP... etc and they are awesome libraries with what they can do. Certainly some of the better examples of open source projects. But have i ever had a problem with them? Yep, plenty of problems where things didn't work. I just had to sit down and figure out exactly what is going on, but in a lot of cases it turned out to be partially my fault for not quite using the library in the way it was intended. A lot of the time i actually learned a fair bit in the process on how the library works. Modern chips have excellent in circuit debugging capability, so this helps hugely in tracking down bugs.

Open source libraries are not to be treated like a product that you just use. That's the point of it open source. You can look at the source and see how it works to find problems. Sometimes you might find an actual bug in it. In that case it is usually the fastest to fix the bug yourself and then send the code back to the project owner so that they can integrate the fix into the next version. This is my way of thanking them for providing me with the code that saved me from having to make it from scratch on my own.


[0] Message Index

[#] Next page

There was an error while thanking
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod