• 0 Posts
  • 110 Comments
Joined 11 months ago
cake
Cake day: July 14th, 2023

help-circle
  • I agree and the requirement for an exact placement of attribution is not very friendly to derivate works either. I don’t think that section 7 of AGPL allow adding anything other than the exact terms in section 7 and it has a clause that allow removing non-permissive additions to the AGPL, but I’ve sent an e-mail to FSF asking what their position is. I would be very concerned picking AGPL as a license for my projects, if section 7 allow adding clauses like that. Anyhow the clauses were added in this commit, so anything prior to 7.3.0 is normal AGPL.


  • smpl@discuss.tchncs.detoLinux@lemmy.mlONLYOFFICE 8.1 released
    link
    fedilink
    English
    arrow-up
    15
    ·
    edit-2
    23 hours ago

    There is no free and open source version of Only Office. It fakes that it is licensed with AGPL, but they have added the following to the license, which in effect completely forbid you to redistribute it. It can be said to be Source Available.

    The interactive user interfaces in modified source and object code versions of ONLYOFFICE must display Appropriate Legal Notices, as required under Section 5 of the GNU AGPL version 3.

    Pursuant to Section 7 § 3(b) of the GNU AGPL you must retain the original ONLYOFFICE logo in the upper left corner of the user interface when distributing the software.

    Pursuant to Section 7 § 3(e) we decline to grant you any rights under trademark law for use of our trademarks.

    https://raw.githubusercontent.com/ONLYOFFICE/DesktopEditors/master/LICENSE


  • You need to use a dmix PCM for you card as output.

    If you type aplay -L | grep dmix it’ll show you a list of dmix devices. You can set one as the default if you create a file named .asoundrc in your homefolder with the content:

    pcm.!default {
      type plug
      slave.pcm "dmix:CARD=Set,DEV=0"
    }
    

    You of course replace the value of slave.pcm with your desired card name. I just gave one of mine as an example. The above default configuration also takes care of automatic conversion, via the plug pcm, for different samplerates and formats to the settings the hardware is set up to use. Every program that use ALSA for output will read the above file, but you need to restart a program for changes to take effect.

    If you enjoy audio production I’m sure you’ll find some good use for Jack, but for audio mixing all you need is to use an ALSA dmix pcm for output.



  • A solution I’ve used for the glibc problem, is to build on an older distribution in a chroot. There is also this project which might be of use to pick a specific version of glibc. The project README also explain how to do it manually.

    As for distribution, I prefer something like makeself.sh, that installs to either ~/.local/ or if it is to be installed system-wide to /usr/local or /opt. The concept is just a small shell script appended with a compressed archive, it is easy to modify and even create by hand using standard tools like cat. This is a method widely used by native Linux games.






  • debian/rules:

    dh_auto_configure --  -DWITH_TESTS=$(WITH_TESTS) \
    	                      -DWITH_GUI_TESTS=$(WITH_TESTS) \
    	                      -DWITH_XC_UPDATECHECK=OFF \
    	                      -DWITH_XC_ALL=OFF
    

    CMakeLists.txt:

    set(WITH_XC_ALL OFF CACHE BOOL "Build in all available plugins")
    
    option(WITH_XC_AUTOTYPE "Include Auto-Type." ON)
    option(WITH_XC_NETWORKING "Include networking code (e.g. for downloading website icons)." OFF)
    option(WITH_XC_BROWSER "Include browser integration with keepassxc-browser." OFF)
    option(WITH_XC_BROWSER_PASSKEYS "Passkeys support for browser integration." OFF)
    option(WITH_XC_YUBIKEY "Include YubiKey support." OFF)
    option(WITH_XC_SSHAGENT "Include SSH agent support." OFF)
    option(WITH_XC_KEESHARE "Sharing integration with KeeShare" OFF)
    option(WITH_XC_UPDATECHECK "Include automatic update checks; disable for controlled distributions" ON)
    if(UNIX AND NOT APPLE)
        option(WITH_XC_FDOSECRETS "Implement freedesktop.org Secret Storage Spec server side API." OFF)
    endif()
    option(WITH_XC_DOCS "Enable building of documentation" ON)
    
    set(WITH_XC_X11 ON CACHE BOOL "Enable building with X11 deps")
    
    # stuff inbetween cut out
    
    if(WITH_XC_ALL)
        # Enable all options (except update check and docs)
        set(WITH_XC_AUTOTYPE ON)
        set(WITH_XC_NETWORKING ON)
        set(WITH_XC_BROWSER ON)
        set(WITH_XC_BROWSER_PASSKEYS ON)
        set(WITH_XC_YUBIKEY ON)
        set(WITH_XC_SSHAGENT ON)
        set(WITH_XC_KEESHARE ON)
        if(UNIX AND NOT APPLE)
            set(WITH_XC_FDOSECRETS ON)
        endif()
    endif()
    

    I’m no CMake expert, but it looks like to me, from the first line of the above snippet, that the default in the upstream build script is WITH_XC_ALL=OFF.



  • WARNING. Everything other than the last paragraph is kind of rude and opinionated, so skip to the bottom if you only want practical advice and not a philosophical rant.

    First of all Free Software don’t need paid developers. We scruffy hackers create software because it’s fun. I have a strong suspicion that the commercialization of Free Software via the businessfriendly clothing “Open Source” is actually creating a lot of shitty software or at least a lot of good software that’ll be obsoleted to keep business going. Capitalization of Free Software doesn’t have an incentive to create good finished software, quite the opposite. The best open source software from commercial entities is in my opinion those that were open sourced when a product was no longer profitable as a proprietary business. As examples I love the ID software game engines and Blender. Others seem happy that Sun dumped the source code of Star Office, which then became OpenOffice and LibreOffice, but then again companies like Collabora are trying to turn it into a shitty webification instead of implementing real collaborative features into the software like what AbiWord has.

    …and back in the real world where you need to buy food. Open Source consultancy, implementation of custom out-of-tree features, support, courses and training, EOL maintainance or products that leaverage Open Source software is my best answer. See Free Software as a commons we all contribute to, so that we can do things with it and built things from it. You should not expect people to pay for Free Software, but you can sell things that take advantage of Free Software as a resource.


  • As @Caboose12000@lemmy.world already said, I’d recommend drop.lol (can be selfhosted). Filetransfers are direct between peers (unless you’re behind some hardcore NAS where UDP hole-punching via STUN is not possible).

    I mean how I transfer a file depends on the situation. If it’s to someone on XMPP I’d just establish a direct transfer there. Sometimes I share a directory over HTTP, FTP, SFTP and so on. The easiest way for most people, because it only requires a WebRTC capable browser, is with one of the many peer to peer filesharing platforms like drop.lol.








  • The C compiler or third party libraries can provide support for parallel execution and SIMD. That article is just used by people in an attempt to argue that C’s strength in being a good low level abstraction is false, which it isn’t. C is the best portable abstraction over a generic CPU that I know of. If you start adding parallel features and SIMD like the article suggest, you’ll end up with something that’s not a portable low level abstraction. To be portable those featues would have to be implemented in slow fake variants for platforms that doesn’t support it. We can always argue where to draw the line, but I think C nailed it pretty good on what to include in the language and what to leave up to extensions and libaries.

    C is not a perfect abstraction, because it is portable. Non portable features for specific architectures are accessed through libraries or compiler extensions and many compilers even include memory safe features. It’s a big advantage though to know Assembly for your target platform when developing in C, such that you become aware fx. that x86 actually detects integer overflow and sets an overflow flag, even though that’s not directly accessible from C. Compilers often implement extensions for such features, but you can yourself extend C with small functions for architecture specific features using Assembly.