Tutte le discussioni > Discussioni di Steam > Off Topic > Dettagli della discussione
Open source software is so damn bad that I'm literally parsing my own XML.
How do you screw up this badly? How do you take something that's literally designed to help people for free and make it so that nobody can use it?

If it doesn't have infinity dependencies to explode the size of your executable, slow everything down and make you spend forever adding new packages to your environment, it's freaking copyleft ♥♥♥♥♥♥♥♥ so that you literally legally can't use it for anything.
< >
Visualizzazione di 1-14 commenti su 14
What is XML?
Messaggio originale di Devsman:
How do you screw up this badly? How do you take something that's literally designed to help people for free and make it so that nobody can use it?

..

Well, it has been said that "You get what you paid for."

Unfortunately, for-purchase productivity software, these days, is nearly always a chain meant to capture wallets forever... (SAAS) Pricing with these products usually puts them outside of anything short of "Professional Use Only" in my limited experience. (3d/art/etc) And, with "home use" sorts of products, it's little better. There, the only interest also seems to be of the "pay us for life" model.

I like the Blender example, here. It's a piece of very powerful software that was/is designed by committee. It was once so horribly designed, despite it's potential power, that even enthusiastic artists could not bear to use it. It was so unapproachable it became a meme, itself, about bad open-source projects. The various contributors, obviously skilled in their own right, were too busily humping and pumping out code while proudly smelling their own farts to examine the abomination they were creating.

Once they finally realized the oppressive, insulting, Frankenstein behemoth they had created, they went through a series of complete redesigns for the UI. It is now much more approachable and the UI isn't quite the completely unintuitive mess it used to be. (It is still sort of bad, in that respect, but I don't want to insult it lest the I attract the attention of BlenderBroForce, who will rush to tell me how dumb I am for criticizing it.)


IMO: What makes open-source productivity software "better" is more users giving feedback and more qualified professionals offering professional quality work to make it better. So, if you encounter a problem, report it and provide some ideas for work-arounds or actual code. Keep doing that and encourage others to do the same.
Messaggio originale di Morkonan:
Messaggio originale di Devsman:
How do you screw up this badly? How do you take something that's literally designed to help people for free and make it so that nobody can use it?

..

Well, it has been said that "You get what you paid for."

Unfortunately, for-purchase productivity software, these days, is nearly always a chain meant to capture wallets forever... (SAAS) Pricing with these products usually puts them outside of anything short of "Professional Use Only" in my limited experience. (3d/art/etc) And, with "home use" sorts of products, it's little better. There, the only interest also seems to be of the "pay us for life" model.

I like the Blender example, here. It's a piece of very powerful software that was/is designed by committee. It was once so horribly designed, despite it's potential power, that even enthusiastic artists could not bear to use it. It was so unapproachable it became a meme, itself, about bad open-source projects. The various contributors, obviously skilled in their own right, were too busily humping and pumping out code while proudly smelling their own farts to examine the abomination they were creating.

Once they finally realized the oppressive, insulting, Frankenstein behemoth they had created, they went through a series of complete redesigns for the UI. It is now much more approachable and the UI isn't quite the completely unintuitive mess it used to be. (It is still sort of bad, in that respect, but I don't want to insult it lest the I attract the attention of BlenderBroForce, who will rush to tell me how dumb I am for criticizing it.)


IMO: What makes open-source productivity software "better" is more users giving feedback and more qualified professionals offering professional quality work to make it better. So, if you encounter a problem, report it and provide some ideas for work-arounds or actual code. Keep doing that and encourage others to do the same.
Now, if it's an application, yes. Many of those in the OSS space are excellent and I use tons of them.

But if it's anything you have to include and or link against, it's literally unusable because of dependencies or crappy licensing.
Are you talking about openbox and python 3.7 dependencies for obmenu?
These were some of the hard choices made by maintainers who are skilled enough to make these choices.
Ultima modifica da Enigmatic; 29 dic 2023, ore 10:51
Messaggio originale di εnigmatic:
Are you talking about openbox and python 3.7 dependencies for obmenu?
These were some of the hard choices made by maintainers who are skilled enough to make these choices.
I'm talking about parsing XML. I found a crate on alire that had no dependencies, but it was licensed with that scum of the earth GPL license, so I couldn't use it. So I found a C library that looked promising, wrote a binding for it, and when I finally got that to build, the compiler tells me it can't find zlib. That would be a dependency.

So I gave up. Now I'm parsing manually.
Ultima modifica da Devsman; 29 dic 2023, ore 10:56
I remember you saying this almost exact same thing before. Here we go again :lunar2019laughingpig:
Ultima modifica da Tristin; 29 dic 2023, ore 11:27
Messaggio originale di Tristin:
I remember you saying this almost exact same thing before. Here we go again :lunar2019laughingpig:
The people who keep screwing this up need to know their software is unusable.
Which software are you talking about specifically? And why do you think you can't use it for anything? Do you want to create your own software based on the source code of the program you are using or are just using the binary as a tool to create something else?
Messaggio originale di kilésengati:
Which software are you talking about specifically? And why do you think you can't use it for anything? Do you want to create your own software based on the source code of the program you are using or are just using the binary as a tool to create something else?
Both. In the latter case, you should be ok, though certain licenses are unclear on what constitutes a derivative work. In the former case, you're straight screwed.
Messaggio originale di Devsman:
Messaggio originale di kilésengati:
Which software are you talking about specifically? And why do you think you can't use it for anything? Do you want to create your own software based on the source code of the program you are using or are just using the binary as a tool to create something else?
Both. In the latter case, you should be ok, though certain licenses are unclear on what constitutes a derivative work. In the former case, you're straight screwed.

Seems you are not the only one with that opinion:
https://groups.google.com/g/openworm-discuss/c/Ab0MrGRCwoY


Not legal advice!!

I think it depends on whether you are integrating FOSS code directly into your work or have it as a FOSS blob, far removed enough from its dependencies.
But if you are doing this for a living, it could be a good idea to get a professional opinion about it. Or maybe just ask the creators, if they see your use as a derivative work. GPL isn't the law after all, but a contract between you and the creator of the original software.
Ultima modifica da kilésengati; 29 dic 2023, ore 12:55
Messaggio originale di Devsman:
So I gave up. Now I'm parsing manually.
zlib is licensed under the zlib license.
Messaggio originale di εnigmatic:
Messaggio originale di Devsman:
So I gave up. Now I'm parsing manually.
zlib is licensed under the zlib license.
It's also a lot of bloat that I don't want or need. How does an XML parser need zlib? No, thank you, I can do a better job myself.

To your point, though, zlib is one of the good OSS licenses. MIT is another one. ACTUAL "free as in freedom" licenses that don't restrict the people who want to use it. Way better than anything GNU has ever crapped out. Their garbage says it's permissive but it's anything but.

I'm actually using some works licensed with each of those.
Ultima modifica da Devsman; 29 dic 2023, ore 13:43
Messaggio originale di Devsman:
Open source software is so damn bad that I'm literally parsing my own XML.

Funny enough, I've had issues with XML parsing since forever, due to not wanting too many obscure 3rd-party libraries unless they are necessary. I have used libxml on occasion, though.
In the recent past, I've simply moved to JSON instead, which lets me use boost::json.

I've tried to use boost property trees for XML, but that's a pretty horrible library that never really worked for anything I've tried using it for, including its stated purpose... hence the move to JSON when they added the library.

Technically, I'd still prefer XML -- but, boost::json is so damn nice to use, and there's no boost::xml... sometimes, it's just better to use the tools that you have, if you have a choice :-)

Incidentally, I now have a simple HTML parser, that can parse most Steam pages I'm interested in (and the one that it fails on might be a bug, but I haven't looked into it yet since it's also the one page where a simple regex can do the job). It also fails on a lot of pages that I'm not interested in, because they often have messy tag structures and I didn't want to bother with that kind of stuff since Steam doesn't need it...

Next time XML comes up, I might just ditch libxml and roll my own parser. Which is almost the same as the HTML parser, just a bit simpler.
Ultima modifica da Kargor; 29 dic 2023, ore 14:00
Messaggio originale di Kargor:
Messaggio originale di Devsman:
Open source software is so damn bad that I'm literally parsing my own XML.

Funny enough, I've had issues with XML parsing since forever, due to not wanting too many obscure 3rd-party libraries unless they are necessary. I have used libxml on occasion, though.
In the recent past, I've simply moved to JSON instead, which lets me use boost::json.

I've tried to use boost property trees for XML, but that's a pretty horrible library that never really worked for anything I've tried using it for, including its stated purpose... hence the move to JSON when they added the library.

Technically, I'd still prefer XML -- but, boost::json is so damn nice to use, and there's no boost::xml... sometimes, it's just better to use the tools that you have, if you have a choice :-)

Incidentally, I now have a simple HTML parser, that can parse most Steam pages I'm interested in (and the one that it fails on might be a bug, but I haven't looked into it yet since it's also the one page where a simple regex can do the job). It also fails on a lot of pages that I'm not interested in, because they often have messy tag structures and I didn't want to bother with that kind of stuff since Steam doesn't need it...

Next time XML comes up, I might just ditch libxml and roll my own parser. Which is almost the same as the HTML parser, just a bit simpler.
I mean, for my own data, I have a simple format I use that just has a field name, a colon, a value and an end line comment.

Field1: 7 ;This is field 1
Field2: True
Field3: Hello ;Just in case

It's easy AF to parse.

I really don't even mind parsing RIFF data by hand, honestly. It's a little more legwork but it's not really that bad. It's more intimidating since it's not human readable than actually complicated.

But for what I'm doing right now, parsing XML is unavoidable. I'm trying to alter some vector graphics and save a copy. SVGs, which of course the format is based on XML.

I'm actually flex-bisoning an XML parser. I wouldn't mind releasing it open source just so the world will have a decent damn open source parser, but I'd have to do more testing and debugging that way, when I really just need it to work for my particular use case.

Who knows, maybe when I actually finish my game and have the time to come back around and polish them, I might have a lot of tools ready to release to public domain. I've also put together a command line spell checker that will return an error code on spelling errors, which seems like a no brainer feature but I just couldn't find an existing spell checker that does it. It's surprisingly slow though, so I'd need to work on that too.
Ultima modifica da Devsman; 29 dic 2023, ore 14:16
< >
Visualizzazione di 1-14 commenti su 14
Per pagina: 1530 50

Tutte le discussioni > Discussioni di Steam > Off Topic > Dettagli della discussione
Data di pubblicazione: 29 dic 2023, ore 10:05
Messaggi: 14