FLIF: Free Lossless Image Format
nickweller sends a link to an informational post about FLIF, the Free, Lossless Image Format. It claims to outperform PNG, lossless WebP, and other popular formats on any kind of image. "On photographs, PNG performs poorly while WebP, BPG and JPEG 2000 compress well (see plot on the left). On medical images, PNG and WebP perform relatively poorly while BPG and JPEG 2000 work well (see middle plot). On geographical maps, BPG and JPEG 2000 perform (extremely) poorly while while PNG and WebP work well (see plot on the right). In each of these three examples, FLIF performs well — even better than any of the others." FLIF uses progressive decoding to provide fully-formed lossy images from partial downloads in bandwidth-constrained situations. Best of all, FLIF is free software, released under the GNU GPLv3.
Using GPLv3 will all but ensure no corporate/enterprise support, thus leaving the older, less useful formats in place.
Sometimes zealots get in their own way...
http://xkcd.com/927/
Pretending this is my office full of bitter coworkers..
How well does it work relative to TIFF files?
I'm waiting to hear it from independent authorities.
Use it and never be able to sell your product. Or use it and get fired for being an idiot. Hurrah!
Almost 30 years ago a colleague of mine used a phrase, referring to the pre-L GPL licensing terms, that succinctly described this kine of "free":
"More expensive than money."
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
From the FLIF website:
That Pieter Wuille is known as "sipa" on GitHub; you can see his nascent FLIF work here. Pieter is one of the major contributors to the Bitcoin project, and he is a co-founder or early employee of Blockstream.
What part of "released under the GNU GPLv3" didn't you understand?
CLI paste? paste.pr0.tips!
Unless you wanted/intended to profit off of FLIF using locked hardware or DRM'd implementations, there shouldn't be any problem with the fact that its reference is GPLv3.
Won't replace JPEG2000 unless it allows arbitrary pan and zoom, which is that format's killer feature. That's the main benefit and use case. See, for example, NASA's HiRISE images, which are released as JP2 files... often larger than 1GB a piece. It means you can seek to the section of data you want to see, and the zoomlevel you want, without having to load the entire image into memory.
Did you even read the title of the article?
It's a lossless format, so the resulting image is the same pixel for pixel with the original.
No, that link you posted to a web comic we've all seen a hundred times is not "obligatory."
Um... https://en.wikipedia.org/wiki/...
Now all we need to do is get image-makers to distribute in a format no-one can view, and software-writers to include support for a format that no-one ever encounters.
Thousands of existing software libraries support existing image formats. None of them support this new wonder format. There are perfectly usable 10+ yrs tools that work fine with image manipulation, creation, viewing, etc. that need no updates.
Let's get this out of the way early. Ehould we pronounce it as "Flif" or "Eff Life"?
How much CPU time does it take to compress vs the others?
How much memory does it need to compress vs the others?
How much CPU and memory does it take to decompress vs the others?
Hard to say it's better without a complete picture.
FLAC
All your database are belong to U.S.
It occurred to me that there might be a way around this problem: give it a header that starts with a PNG signature and then stores the FLIF data in one or more chunks that have no effect (such as text chunks or a new non-registered chunk type), then moves on to chunk(s) representing the exact same image in a conventional PNG format. So a person whose browser has no FLIF support will just read it as a PNG file that's about 50% larger than it needs to be, while a person whose browser has FLIF support can give up downloading the file as soon as it receives the FLIF chunk and not bother downloading the PNG version.
Crowd: What do we want? Fry: Fry's dog! Crowd: When do we want it? Fry: Fry's dog!
There is nothing prohibiting you from selling GPL3 software. You have to give all your customers access to your source code if they ask for it, but you can still charge money for it.
NASA might be interested in it for transmitting data back from its deep space probes (New Horizons is gonna take a year to transmit back all the pictures it took). Likewise, someone might implement it as a way to reduce bandwidth when browsing the web over expensive satellite data connections while at sea. Those are the only use cases I can think of where low bandwidth still matters.
Digital Negative was originated by an Evil Corporation(TM), but Adobe insists that they want to keep the format open and IP-free. It has been submitted to ISO a s a standard, basically TIFF with room for the rich metadata that photographers crave: https://en.wikipedia.org/wiki/...
I will give up my DNG when you pry the cold dead platters of my drawerful of external backup from around it.
"FLIF ... is not encumbered by software patents." I wonder what they mean by this. Maybe that the authors have not applied for patents or, as far as they know, FLIF does not infringe on any patents? Regardless, anyone at any time can make a patent claim. Unless someone with big pockets provides patent indemnification, there is no guaranteed that FLIF won't be challenged in the future.
First, I fail to understand why all of the other comments so far don't seem to understand why a lossless format with a compression that's as good as jpg would be valuable. That would be a valuable thing to have, so shut up.
Nevertheless, I have just now downloaded the source code and tried it ... briefly. With the PNG I tried it with, I did indeed get a FLIF file that was as small as the JPG I got if I tried converting my PNG to JPG with ImageMagick. Very good.
On the other hand, I don't understand the "lossless" claim, because when I used flif to convert the FLIF test image back to a PNG, and then used ImageMagick's 'compare' program to compare it to the original, it seemed to find significant differences between the two at a pixel level. Mind you, the images *looked* fine, so perhaps there was something wrong with my quick test.
I think they meant game and application screenshots as images to compress, since that's going to be quite a big chunk of the use cases.
The GPL does not prevent you from learning from the source code to implement a compatible version under a different license.
That depends on the outcome of the forthcoming fair use defense phase of Oracle v. Google.
Is it pronounced with a short or long i?
-
From the paragraph on that page recommending a permissive license: "Some libraries implement free standards that are competing against restricted standards". Against which restricted standard for lossless image coding is FLIF competing?
If none, then it goes on to state: For libraries that provide specialized facilities, and which do not face entrenched noncopylefted or nonfree competition, we recommend using the plain GNU GPL." So the question is one of whether FLIF "provide[s] specialized facilities".
In anything where there's a spec and a reference implementation, often the reference implementation is a de-facto spec. Where there's something vague in the spec, you look to the reference implementation for the missing details.
Or, where the spec allows a wide range of interpretations:"The header shall include a unique identifier from 1-100 octets long." with complex interdependencies:"The header end pointer shall be a 4 bit field indicating the position of the final octet of the header in multiples of 4 octets."
This happens a lot on "home grown specs" that sort of evolve, and haven't been through multiple implementations and reviews. Most standards bodies won't accept a standard if there's only been one implementation of the standard. They want to see at least two independent implementations, for just this reason.
The initial draft of a standard often has a reference implementation to help with this sort of ambiguity.The reference implementation is "it had darn well better be a multiple of 4, and not greater than 64, because something else in the spec is inconsistent if you don't do that", and may even have comments embedded to that effect (unless the implementation author is one of those "the code speaks for itself, I eschew comments" people).
Nikon cameras produce raw images in NEF format. Couldn't you just patch your NEF to PNG converter to support NEF to FLIF as well?
Unless you're basing a business model on distributing to people with Internet connections not suited for gigabyte transfers, such as dial-up, ISDN, satellite, or cellular, what will make users choose your distribution for a fee over someone else's distribution without charge?
Did you even read the title of the article?
It's a lossless format
It's designed to be "progressive". This means the prefix of any lossless file is a lossy file. In fact, the more graceful degradation of truncated progressive FLIF compared to truncated progressive PNG is touted as an advantage over PNG.
I thought we put image formats to bed in the 90's. Hell, it feels like png is just barely starting to be used by reputable companies even though browsers have supported it for a while. It also seems like we still don't have a viable replacement for animated GIFs either, even though png was supposed to take care of that as well. I suppose even if this image format is wildly successful by those standards, I'll just about be ready to retire by the time we start seeing it in widespread use.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
It supports setting the zoom level through its progressive encoding: a prefix of the lossless FLIF bitstream can be interpreted as a low-res FLIF. As for pan, a set of FLIFs in an array (as with the "Click and Drag" xkcd comic or any Internet mapping program) could fix that.
Bandwidth and storage space are cheap.
Bandwidth is not cheap. Cellular and satellite Internet tend to cost $5 to $15 per GB.
Nor is storage space cheap, especially with the premium for a 64 GB phone over a 16 GB one. Also servers, as Anonymous Coward mentioned in #50646339.
If bandwidth doesn't matter, why not encourage everyone to use BMP files instead of JPEG.
Why use video codecs? Do you know how large an uncompressed video or mp3 is? They are gigantic.
If bandwidth doesn't matter, why do people use ad blocks to stop Flash ads that stream tons of video and audio.
You comment was dumb.
There's no reason you can't use GPL software along side proprietary software. No revision of the GPL prevents that. What you can't do is change the specifics of the file format and try to own the entire package either through patents or monetizing your modifications without distributing the source. Don't believe the FUD.
If it ain't broke, don't fix it.
Why would anyone do that instead of using HTTP Accept headers?
Of course. Please give a few examples of desktop applications that are GPL3 compliant where the product and company are both profitable? [crickets...]
it took 15 years for .png to be properly supported by all major browsers. nobody is going to bother with this at all.
Snowden and Manning are heroes.
Now I have the mental image of RMS being eviscerated while yelling, "FREEDOM!!!"
I only look human.
My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
I like how the web site insists that the format is a work in progress, and future versions may not actually load images created with the current implementation.
Unlike document formats, media formats rarely evolve over time. For a media format not to be production ready means it's currently worthless. Be prepared to wait a few years to use a format that will never be widely adopted. Nice.
Yet another image format to support.
It's not hard at all, as long as the program is also under a compatible version of the GPL.
Also, JPEG2000 is dead and buried
It certainly isn't dead. Jpeg 2000 is the standard format used in DCPs. All the movies in all the theaters have their picture track encoded with jpeg2K (in an MXF container).
For animations.
Escher was the first MC and Giger invented the HR department.
Which most programs aren't, and their authors don't want them to be.
No mainstream browser today is under GPLv3. I don't think there's even any under GPLv2.
So if "[e]ven when there is a permissive license, it's still incredibly difficult for a new file format to gain any traction" then there there would seem to be nothing lost by licensing the reference implementation under the GNU GPLv3 despite your vague claim that the GPL hinders "broad adoption". You say "If the ultimate goal is to promote this file format, this is not the best way of doing it" but you say nothing about what "the best way" is or what constitutes "best".
"FOSS" means free and open source software, software released under a license approved of by both the Free Software Foundation and the Open Source Initiative; there are many other such licenses. It's unclear what you mean by "FOSS/GPL" as being somehow distinct from the "GPL" (meaning the GNU General Public License), a term used for decades which requires no qualification. Perhaps you're confused by the term "GNU/Linux" which is the GNU operating system in combination with the Linux kernel (as opposed to, GNU/HURD or GNU/kFreeBSD, to name a couple of examples, which are the GNU OS with the HURD or FreeBSD kernels respectively).
For being moderated as insightful I see a self-contraction, unclear use of confused terminology, and a complaint hinting that something far better should be done without any explanation of what that is.
Digital Citizen
Another image standard... hopefully Microsoft won't drop the ball on this one like they did with png over and over.
Non sequitur: Your facts are uncoordinated.
If it wasn't clear by reading between the lines, I consider a permissive license (like zlib, libPNG, BSD, etc) more suitable than GPLv3 for a reference library if your goal is to ensure broad, industry-wide adoption of a new file format. My assumption is that very few people or organizations will be interested in writing their own library from scratch simply to adopt someone's new file format. Your reasoning seems to be "if it's already difficult, why not make it more difficult still?" which seems a strange argument to make.
That the GPLv3 license hinders broad adoption should be self-evident, as the license specifically prohibits use of the code in non GPL projects. That hardly seems like a "vague claim". That's a simple fact. Perhaps you should read Richard Stallman's very pragmatic view on this matter, as I agree with his reasoning here.
As for the FOSS/GPLv3 thing... The GPLv3 is the most well-known copyleft FOSS license, which means that if you use that license, any FOSS software you release is guaranteed to remain as FOSS-only code. I admittedly could have worded that better.
Irony: Agile development has too much intertia to be abandoned now.
The question is why anyone would want non-free software.
Ah, know I get it. Tough test to do though since a screenshot could be of anything really.
Why must it be "desktop applications"? Software is more diverse than that. Red Hat for one is quite profitable. I myself work for a company where all our client side software is released as GPL3, now our business is not selling software since we sell a service but who cares exactly where the money comes in?
That's correct. My point was not that it was easy for all programs, just that the original statement that using the GPL makes it hard to even use the library as part of another program simply isn't true at all. It would assume that no program is licensed under GPL, and that certainly isn't the case.
ASCII stupid question, get a stupid ANSI
Requiescat In Pace, FLIF.
Troll 2.0 Fear my asocial networking!
No, reference implementation changes do not mean all implementations have to change. Only format changes mean all implementations have to change.
Bingo Dictionary - Pragmatist, n. A myopic idealist.
Why desktop? Because images are meant to be viewed.. And because GPL FLIF won't become a standard for web browsers, a desktop app would be the most logical way to view these images (unless you want to convert it to PNG, which defeats the purpose of having a new standard.)
The lack of desktop apps that use GPL that are profitable is the glaring proof that GPL is not good for developers in that rather large market segment. Web-based services use a lot of GPL, but they have a free pass from having to release all their source code that touches GPL code.
I'll add that I am a software developer. I write desktop apps, web services, and pure server apps that I sell. My apps sell online whether I'm on vacation or working for a client, learning new code, or adding features. By avoiding GPL, I can use my software anywhere I like, sell it any way I like, and not worry about hiring a legal team to review compliance with the licenses. More importantly, I don't have to perform tech support to get paid for my own work-- that would limit my ability to earn money to the number of hours in the day I want to work.
I prefer two ideals: "write once, sell many" and "willing seller, willing buyer", as it works well for me. Unless you're retired, or happy to live as a pauper, how is "Sell your software, but give it away if anyone wants it for free." a better strategy to earn a living? I'm sure I just wasted a lot of my and your time.. but who knows.
GPL does not imply that you sell your software and have to give it away if anyone wants it for free. It only means that you have to give the source code to any of your paying customers if they ask for it. So you don't have to give it to any one else, of course one of your paying customers could then compile a binary and put up on their website or a torrent site. However this they can do today even without the source since they can simply put your closed binary on any torrent site. The difference is of course that with GPL they would be legally in the clear but that does not seam to prevent any one from pirating software today.
That it does not fully fit your market model is something that I do understand and I'm in no way trying to convince you to switch to GPL or whatever, I simply pointed out that it's possible to sell GPL software (since I do it myself I know that it's possible). And do I think that GPL FLIF will see wide adoptance? Hell no.
Appreciate the dialog. A few questions...
1. Is your product's source fully available online? (If yes, skip 2&3)
2. Has anyone asked for the source code?
3. Even though I haven't bought your product, would you send all the source code so I can post it to github?
4. Won't GPL use reduce your ability to sell the company or integrate the product with other commercial apps?
I just don't get how GPL would ever make sense for a programmer trying to earn a living. Fine for hobby projects, or learning a new skill, or when you're feeling philanthropic.. but as a business decision?
Bonus question... What's your GPL company or product?
Yes all source code is fully available on our public ftp server. Now using GPL is much easier for me than it's for you since what we sell isn't the applications as such. What we do is sell financial data (stock market, forex, etc data) so our income is for the data provided and not for the applications as such which of course is vastly different from a pure application developer like you.
However, all our competitors are only selling their data with closed binary applications and API:s, and one of our main benefits over those competitors are in fact some of our software (especially our datafeed to sql application), a leverage that they could remove in anytime by simply changing our software to also accepting their data streams and thus making it easy for our customers to just switch supplier. Another drawback for us to release our sources is that it exposes our highly compressed datafeed protocol something that in our industry otherwise is seem as highly protected IP (since we are in the business to (among other things) deliver as much data using as little resources [bandwidth having to be one of them] as possible)
However I do feel that releasing all our software under the GPL has benefits that trump the potential downsides; for example we had one customer who uses Solaris and since they could simply download the source and compile our stuff themselves they could become paying and happy customers (otherwise I would simply have to tell them that "sorry we do not support Solaris"). And we have received some patches from end users that fixed things in configurations which we would probably never be in position of.
Regarding your point #4, integration is not a problem (and we have our stuff integrated into some systems already) since those parts (our API) are released under LGPL. Selling the company is not something that we have an interest in ever, there is no exit plan.
Link to our website since you asked about which company I work for: https://millistream.com/ and complete sources can be found at our ftp server: ftp://ftp.millistream.com/